Radio
Radio Widgetはユーザーが複数の選択肢から複数または一つを選択する時に有効です。
ここではFlutterから提供されているRadio Widgetの使い方と応用例を解説します。
- Radio
FlutterでシンプルなRadioボタンを作成するためにはRadio
が有効です。onChanged
でRadio Widgetに設定した値がユーザーが選択されたかどうかを取得することができます。
enum RadioValue { apple, grape, lemon }RadioValue? selectedValue = RadioValue.apple;return Radio(value: RadioValue.apple,groupValue: selectedValue,onChanged: (val) {setState(() {selectedValue = val;});}),
- RadioListTile
RadioListTile
はラベル付きのラジオボタンを作成したい場合に有効です。onChanged
の値をNullにすることで、フィールドを disabled に変更することができます。
RadioListTile(title: const Text("Label"),value: RadioValue.apple,groupValue: selectedValue,onChanged: (val) {setState(() {selectedValue = val;});}),
activeColor
, hoverColor
などの値を変更させることで、アクティブやホバー時の色を変更することができます。
より自在に色を変更したい場合はMaterialStateProperty
を使用して実現することができます。
Radio(activeColor: Colors.red,hoverColor: Colors.red[50],value: RadioValue.apple,groupValue: selectedValue,onChanged: (val) {setState(() {selectedValue = val;});}),
- FormField
Radio Widgetで入力値の検証を行うためにはFormField
を使用することで対応できます。Form()
で囲い、formKey
を設定しなければならないことに注意してください。
FormField(autovalidateMode: AutovalidateMode.always,initialValue: RadioValue.apple,validator: (value) {if (value == RadioValue.apple) {return "Apple is Error!";}return null;},builder: (FormFieldState<RadioValue> state) {return RadioListTile(...)})
さらに詳しく知りたい場合は、以下の公式ドキュメントから参照してください。