<

showAutocorrectionPromptRect メソッドが TextInputClient に追加されました

まとめ

新しい方法、void showAutocorrectionPromptRect(int start, int end)、 に追加されましたTextInputClientインターフェース。

コンテクスト

iOSの自動修正ハイライトを表示するには、 iOS テキスト入力プラグインには、 ハイライトの開始位置と終了位置の flutter フレームワーク。

変更内容の説明

新しい方法、void showAutocorrectionPromptRect(int start, int end)、 に追加されましたTextInputClientインターフェース。 iOS はこのメソッドを呼び出します 新しい潜在的なオートコレクト候補が見つかったとき 現在のユーザー入力、または以前のユーザー入力の範囲内で 候補の変更を強調表示しました。

移行ガイド

アプリケーションが実装またはサブクラス化していない場合TextInputClient、 移行は必要ありません。アプリケーションが iOS をターゲットにしていない場合は、 または実装したクラスtextInputClientインターフェイスはそうではありません オートコレクトをサポートしているため、空の実装を追加するだけで済みます 新しいメソッドの場合:

class CustomTextInputClient implements TextInputClient {
  void showAutocorrectionPromptRect(int start, int end) {}
}

それ以外の場合、アプリが iOS をターゲットにしており、iOS での自動修正をサポートしている場合は、 の賢明な実装を追加することをお勧めします。void showAutocorrectionPromptRect(int start, int end)あなたへTextInputClientサブクラス。

移行後のコード:

// Assume your `TextInputClient` is a `State` subclass, and it has a variable 
// `_currentPromptRectRange` that controls the autocorrection highlight.
class CustomTextInputClient extends State<...> implements TextInputClient {
  @override
  void updateEditingValue(TextEditingValue value) {
    // When the text changes, the highlight needs to be dismissed.
    if (value.text != _value.text) {
      setState(() {
        _currentPromptRectRange = null;
      });
    }
  }

  void _handleFocusChanged() {
    // When this text input loses focus, the autocorrection highlight needs
    // to be dismissed.
    if (!_hasFocus) {
      setState(() {
        _currentPromptRectRange = null;
      });
    }
  }

  @override
  void showAutocorrectionPromptRect(int start, int end) {
    // Updates the range of the highlight, as iOS requested.
    // This method isn't called when iOS decides to
    // dismiss the highlight.
    setState(() {
      _currentPromptRectRange = TextRange(start: start, end: end);
    });
  }
}

タイムライン

安定版リリース: 1.20

参考文献

API ドキュメント:

  • TextInputClient

関連する問題:

  • 問題 12920

関連する PR:

  • iOS UITextInput 自動修正プロンプト