RadioButton in Flutter
Introduction
RadioButtons are a type of input widget to select one option from a group. Checkbox allows multiple selections but Radio Button allows only one selection at a time.
Example 1: Basic RadioButton
In this example, learn how to create a group of radio buttons for selecting Male, Female and Others. If you have any problem try Run Online button to see the code in action.
Step 1: Create Enum For Options
We will use enhanced enum to create the options for the radio buttons.
enum Gender {
male("Male"),
female("Female"),
others("Others");
// Members
final String text;
const Gender(this.text);
}
Step 2: Create State Variable
It’s time to create a state variable to store the selected option.
Gender? _selectedOption = Gender.male;
Step 3: Create Radio Buttons
Finally, create the radio buttons using the RadioListTile widget.
Column(
// Radio buttons
children: Gender.values
.map((option) => RadioListTile<Gender>(
title: Text(option.text),
value: option,
groupValue: _selectedOption,
onChanged: (value) {
setState(() {
_selectedOption = value;
});
},
))
.toList(),
)
Example 2: Game Difficulty Selection
In this example, learn how to create a group of radio buttons for selecting the game difficulty level. If you have any problem try Run Online button to see the code in action.
Step 1: Create Enum For Options
We will use enhanced enum to create the options for the radio buttons.
enum Difficulty {
easy("Easy"),
medium("Medium"),
hard("Hard");
// Members
final String text;
const Difficulty(this.text);
}
Step 2: Create State Variable
It’s time to create a state variable to store the selected option.
Difficulty? _selectedDifficulty = Difficulty.easy;
Step 3: Create Radio Buttons
Finally, create the radio buttons using the RadioListTile widget.
Column(
// Radio buttons
children: Difficulty.values
.map((option) => RadioListTile<Difficulty>(
title: Text(option.text),
value: option,
groupValue: _selectedDifficulty,
onChanged: (value) {
setState(() {
_selectedDifficulty = value;
});
},
))
.toList(),
)
Challenge
Create a quiz app with radio buttons to select the correct answer for each question.
Question: What is the capital of France?
Options:
- Paris
- London
- Berlin