[Flutter]テキスト(text)を選択するには?

Flutter

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

複数のテキストから1つのテキストを選択する方法を紹介します。

スポンサーリンク

方法

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

テキストを選択するには、DropdownButtonウェジェットを使います。

まず、DropdownButtonの引数「items」にDropdownMenuItemで選択肢を指定します。

DropdownButton(
  items: [
    DropdownMenuItem(
      child: Text('選択肢1'),
      value: '値1',
    ),
    DropdownMenuItem(
      child: Text('選択肢2'),
      value: '値2',
    ),
    DropdownMenuItem(
      child: Text('選択肢3'),
      value: '値3',
    ),
    ・・・・
  ],
),

次に、DropdownButtonの引数「value」に現在選択されているテキストを指定します。

最後に、引数「onChanged」に選択されたテキストが変更された時の処理を指定します。

DropdownButton(
  items: [
    ・・・
  ],
  value: /*選択中のテキスト*/, 
  onChanged: (String? value) {
   //変更された時の処理
  },
),

使用例

以下は、使用例です。

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  var _text = 'Hello';
  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        body: Center(
          child: DropdownButton(
            items: [
              DropdownMenuItem(
                child: Text('Hello'),
                value: 'Hello',
              ),
              DropdownMenuItem(
                child: Text('Hola'),
                value: 'Hola',
              ),
              DropdownMenuItem(
                child: Text('こんにちは'),
                value: 'こんにちは',
              ),
            ],
            value: _text,
            onChanged: (String? value) {
              setState(() {
                _text = value!;
              });
            },
          ),
        ),
      ),
    );
  }
}

まとめ

テキスト(text)を選択するには、DropdownButtonを使います。

コメント

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