xxxxxxxxxx
import 'package:flutter/material.dart';
class RadioButtonsDemo extends StatefulWidget {
@override
_RadioButtonsDemoState createState() => _RadioButtonsDemoState();
}
class _RadioButtonsDemoState extends State<RadioButtonsDemo> {
String selectedOption;
@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
Row(
children: <Widget>[
Radio(
value: 'Option 1',
groupValue: selectedOption,
onChanged: (value) {
setState(() {
selectedOption = value;
});
},
),
Text('Option 1'),
],
),
Row(
children: <Widget>[
Radio(
value: 'Option 2',
groupValue: selectedOption,
onChanged: (value) {
setState(() {
selectedOption = value;
});
},
),
Text('Option 2'),
],
),
Row(
children: <Widget>[
Radio(
value: 'Option 3',
groupValue: selectedOption,
onChanged: (value) {
setState(() {
selectedOption = value;
});
},
),
Text('Option 3'),
],
),
],
);
}
}
xxxxxxxxxx
Radio<int>(
activeColor: Colors.white,
value: 1,
groupValue: gender,
onChanged: (value) {
setState(() {
gender = value!;
}
);
xxxxxxxxxx
// Outof class
enum SingingCharacter { lafayette, jefferson }
// declare object
SingingCharacter? _character = SingingCharacter.lafayette;
Radio<SingingCharacter>(
value: SingingCharacter.lafayette,
groupValue: _character,
onChanged: (SingingCharacter? value) {
setState(() {
_character = value;
}
);
},
),
xxxxxxxxxx
This package helps in creation of Flutter Forms by providing the syntactic sugar for creating a Form Widget and reduce the boilerplate needed to build a form, validate fields, react to changes, and collect the value of the Form
xxxxxxxxxx
Radio(
value: "radio value",
groupValue: "group value",
onChanged: (value){
print(value); //selected value
}
)
//or
RadioListTile(
title: Text("Male"),
value: "male",
groupValue: "male",
onChanged: (value){
setState(() {
});
},
)