Create Grouped Radio Buttons in Flutter - RRutors Guide
Last updated Jan 28, 2020In this post we are going to learn how to create and use Grouped Radio buttons in flutter
Let's start
Create Simple Flutter application and add below code
void main() => runApp(MyApp()); class MyApp extends StatelessWidget { ) |
Now create Radio Group
With RadioListTile widget we are going to create Group of Radio widgets
const RadioListTile({
Key key,
@required this.value,
@required this.groupValue,
@required this.onChanged,
this.activeColor,
this.title,
this.subtitle,
this.isThreeLine = false,
this.dense,
this.secondary,
this.selected = false,
this.controlAffinity = ListTileControlAffinity.platform,
})
|
RadioGroup widget
class RadioGroup extends StatefulWidget{ } class RadioGroupWidget extends State |
Now lets create list of our options
For this create a constant class
class PlatFormList { |
and add required data into list
Listlistplatform; listplatform.add(PlatFormList("Flutter", 1)); |
Update RadioGroupWidget to show list of options
Complete Code
RadioGroup.dart
import 'package:flutter/material.dart';
import 'package:flutter_radio_group/radio_list.dart';
class RadioGroup extends StatefulWidget{
@override
State createState() {
// TODO: implement createState
return RadioGroupWidget();
}
}
class RadioGroupWidget extends State
{
Listlistplatform;
int selected=1;
@override
void initState() {
// TODO: implement initState
super.initState();
listplatform=List();
listplatform.add(PlatFormList("Flutter", 1));
listplatform.add(PlatFormList("Go", 2));
listplatform.add(PlatFormList("JAVA", 3));
listplatform.add(PlatFormList("Kotlin", 4));
listplatform.add(PlatFormList("Android", 5));
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return Column(
children: [
Padding(
padding : EdgeInsets.all(14.0),
child: Text('Selected Platform = '+listplatform[selected-1].platform, style: TextStyle(fontSize: 23))
),
Container(
height: 350.0,
child: Column(
children:
listplatform.map((data) => RadioListTile(
title: Text("${data.platform}"),
groupValue: selected,
value: data.index,
onChanged: (val) {
setState(() {
selected = data.index;
});
},
)).toList(),
),
),
],
);
}
}
|
main.dart
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
primaryColor: Colors.pink
),
home: Scaffold(
appBar: AppBar(
title: Text("Flutter Radio Group"),
),
body: SafeArea(
child : Center(
child: RadioGroup(),
)
)
),
);
}
}
|
Article Contributed By :
|
|
|
|
3682 Views |