Toggle Button
ToggleButton Widgetは複数の選択肢から一つをユーザーに選択させる時に有効です。
ここではFlutterから提供されているToggleButton Widgetの使い方と応用例を解説します。
- ToggleButtons
Flutterでシンプルなトグルボタンを作成するためにはToggleButtons
が有効です。
final List<bool> selected = [true, false, false, false];ToggleButtons(isSelected: selected,children: const [Text("S"), Text("M"), Text("L"), Text("XL")],onPressed: (int index) {setState(() {selected[index] = !selected[index];});},)
isSelected
に入る値を調整することで、単一選択にすることができます。
int selectedIndex = 0;ToggleButtons(isSelected: selected,children: const [Text("S"), Text("M"), Text("L"), Text("XL")],onPressed: (int index) {setState(() {selectedIndex = index;});},)
constraints
の値を調整することで、ボタンのサイズ調整をすることができます。
横幅いっぱいにサイズを設定したい場合はMediaQuery
を使用して調整できます。
ToggleButtons(isSelected: selected,constraints: BoxConstraints(minHeight: 40,minWidth: (MediaQuery.of(context).size.width - 36) / 4),onPressed: (int index) {setState(() {selected[index] = !selected[index];});},children: const [Text("S"), Text("M"), Text("L"), Text("XL")],),
selectedBorderColor
(選択中のボーダーの色)など、細かく色の調整をすることができます。
また、borderRadius
を変更して、ボタンの丸みを調整することができます。
ToggleButtons(color: Colors.red,fillColor: Colors.red[300],borderColor: Colors.red[100],splashColor: Colors.red[300],selectedBorderColor: Colors.red[800],selectedColor: Colors.white,borderRadius: const BorderRadius.all(Radius.circular(10)),...),
UXを向上させるためには、ボタンの意味をわかりやすくするアイコンを表示させるのが有効です。Icon()
を使用してボタンのテキストをアイコンに変更することができます。
ToggleButtons(...children: const [Icon(Icons.sunny),Icon(Icons.nights_stay),Icon(Icons.brightness_4)],),
さらに詳しく知りたい場合は、以下の公式ドキュメントから参照してください。