[Flutter]ToggleButtonの使い方

Flutter

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

ToggleButtonの使い方を解説します。

スポンサーリンク

使い方

ToggleButtonを使うには、まずList<bool>型の変数を用意します。

var _toggleList = <bool>[false, false, false];

リストの要素数は、選択するためのボタンの数にします。

次に、用意した変数をToggleButtonの引数「isSelected」に指定します。

child: ToggleButtons(
  isSelected: _toggleList,
)

そして、引数「children」に、ボタンにしたいウェジェットを複数指定します。

child: ToggleButtons(
  children: [
    Icon(Icons.format_italic),
    Icon(Icons.format_bold),
    Icon(Icons.format_underlined)
  ],
  isSelected: _toggleList,
)

最後に、「onPress」で、ボタンがタップされた時の処理を指定します。

child: ToggleButtons(
  children: [
    Icon(Icons.format_italic),
    Icon(Icons.format_bold),
    Icon(Icons.format_underlined)
  ],
  isSelected: _toggleList,
  onPressed: (index) {
    setState(() {
      _toggleList[index] = !_toggleList[index];
    });
  },
)

引数「onPressed」の関数は、引数で押されたボタンのインデックスを受け取ります。

このインデックスを使って、isSelectedに指定した変数の要素の値を変更します。

これでToggleButtonsを使うことが出来ます。

スポンサーリンク

設定

ToggleButtonは、引数を使うことで、ボタンの設定をすることが出来ます。

  • color :選択されていない時の色
  • selectedColor : 選択されている時の色
  • fillColor : 選択されている時の背景色
  • borderColor : 枠線の色
  • borderWidth : 枠線の太さ
  • selectedBorderColor:選択時の枠線の色
  • borderRasius : 角の丸み
スポンサーリンク

使用したコード

class Sample extends StatefulWidget {
  @override
  _SampleState createState() => _SampleState();
}

class _SampleState extends State<Sample> {
  var _toggleList = <bool>[false, false, false];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Sample'),
      ),
      body: Center(
        child: ToggleButtons(
          children: [
            Icon(Icons.format_italic),
            Icon(Icons.format_bold),
            Icon(Icons.format_underlined)
          ],
          isSelected: _toggleList,
          onPressed: (index) {
            setState(() {
              _toggleList[index] = !_toggleList[index];
            });
          },
        ),
      ),
    );
  }

コメント

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