[Flutter]TextFormFieldのカーソルの位置を変えるには?

Flutter

どうも、ちょげ(@chogetarou)です。

TextFormFieldのカーソルの位置を変える方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

TextFormFieldのカーソルの位置を変えるには、TextEditingControllerを使います。

まず、TextEditingControllerの変数を用意し、TextFormFieldの引数「controller」に用意した変数を指定します。

final _editingController = TextEditingController();

~~~~~~

TextFormField(
  controller: _editingController,
),

そして、TextEditingControllerの「selection」プロパティにカーソルの位置を指定します。

カーソルの位置は、TextSelection.fromPositionを使って指定します。

_editingController.selection = TextSelection.fromPosition(
  TextPosition(
    offset: /*テキストの位置をintで指定*/,
  ),
);

TextFormFieldのカーソルは、TextSelection.fromPositionで指定された位置に変わります。

使用例

以下は、使用例です。

TextFormField(
  controller: _editingController,
  onChanged: (String? value) {
    _editingController.selection = TextSelection.fromPosition(
      TextPosition(
        offset: 0, //カーソルの位置を一番最初に指定
      ),
    );
  },
),

コメント

タイトルとURLをコピーしました