[Flutter]DropdownButtonのアイコンを横幅の変更に合わせるには?

Flutter

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

デフォルトでは、DropdownButtonの横幅を変えると、アイコンの位置がずれます。

DropdownButtonの横幅を変えても、アイコンの位置がずれないようにする方法を紹介します。

スポンサーリンク

方法

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

DropdownButtonのアイコンの位置を横幅の変更に合わせるには、引数「isExpanded」を使います。

具体的には、DropdownButtonの引数「isExpanded」にtrueを指定します。

DropdownButton(
  isExpanded: true,
  items: [
    ・・・・
  ],
  onChanged: (String? value) {
    ・・・
  },
  value: /*value*/,
),

引数「isExpanded」にtrueを指定すれば、DropdownButtonの横幅の変更に合わせて、アイコンの位置も移動するようになります。

使用例

以下は、使用例です。

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

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

コメント

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