Example 1: FormBuilderRadioGroup sample code for radio button flutter
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Flutter Radio Button Group Example"),
),
body: SafeArea(
child : Center(
child:RadioGroup(),
)
)
),
);
}
}
class RadioGroup extends StatefulWidget {
@override
RadioGroupWidget createState() => RadioGroupWidget();
}
class FruitsList {
String name;
int index;
FruitsList({this.name, this.index});
}
class RadioGroupWidget extends State {
// Default Radio Button Item
String radioItem = 'Mango';
// Group Value for Radio Button.
int id = 1;
List fList = [
FruitsList(
index: 1,
name: "Mango",
),
FruitsList(
index: 2,
name: "Apple",
),
FruitsList(
index: 3,
name: "Banana",
),
FruitsList(
index: 4,
name: "Cherry",
),
];
Widget build(BuildContext context) {
return Column(
children: [
Padding(
padding : EdgeInsets.all(14.0),
child: Text('$radioItem', style: TextStyle(fontSize: 23))
),
Expanded(
child: Container(
height: 350.0,
child: Column(
children:
fList.map((data) => RadioListTile(
title: Text("${data.name}"),
groupValue: id,
value: data.index,
onChanged: (val) {
setState(() {
radioItem = data.name ;
id = data.index;
});
},
)).toList(),
),
)),
],
);
}
}
Example 2: flutter radio button
@overrideWidget build(BuildContext context) { return new MaterialApp( home: new Scaffold( appBar: AppBar( title: new Text('Kids Quiz App'), centerTitle: true, backgroundColor: Colors.blue, ), body: new Container( padding: EdgeInsets.all(8.0), child: new Column( mainAxisAlignment: MainAxisAlignment.center, children: [ new Text( 'Select correct answers from below:', style: new TextStyle( fontSize: 20.0, fontWeight: FontWeight.bold), ), new Padding( padding: new EdgeInsets.all(8.0), ), new Divider(height: 5.0, color: Colors.black), new Padding( padding: new EdgeInsets.all(8.0), ), new Text( 'Lion is :', style: new TextStyle( fontWeight: FontWeight.bold, fontSize: 18.0, ), ), new Row( mainAxisAlignment: MainAxisAlignment.center, children: [ new Radio( value: 0, groupValue: _radioValue1, onChanged: _handleRadioValueChange1, ), new Text( 'Carnivore', style: new TextStyle(fontSize: 16.0), ), new Radio( value: 1, groupValue: _radioValue1, onChanged: _handleRadioValueChange1, ), new Text( 'Herbivore', style: new TextStyle( fontSize: 16.0, ), ), new Radio( value: 2, groupValue: _radioValue1, onChanged: _handleRadioValueChange1, ), new Text( 'Omnivore', style: new TextStyle(fontSize: 16.0), ), ], ),