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(...)})
さらに詳しく知りたい場合は、以下の公式ドキュメントから参照してください。