209 文字
1 分
[flutter] TextFieldのsuffixを常時表示させる

やりたいこと#

TextFieldsuffixsuffixTextを使ってsuffixを設定すると、TextFieldがフォーカスされたときにしか設定したsuffixが表示されません。

TextFieldがfocusされた状態

TextFieldがunfocusされた状態

これを、フォーカスされているかどうかに関わらず、常にsuffixが表示された状態にしたいです。

実装#

suffixIconは常時表示されるWidgetなので、suffixsuffixTextの代わりにこれを使います。なお、環境は次の通りです。

  • Dart 3.4.0
  • Flutter 3.22.0

before:フォーカスを外すとsuffixが消える状態#

TextField(
decoration: InputDecoration(
suffix: const Text('円'),
),
),

after:フォーカスを外してもsuffixが消えない#

TextField(
decoration: InputDecoration(
suffixIcon: const Text('円'),
suffixIconConstraints: BoxConstraints(minHeight: 0, minWidth: 0),
),
),

参考: