Flutter Radio Group

A Beautiful and Simple Radio Group widget for Flutter. It can be fully customized with label, titles, labelStyle, titleStyle, orientation, etc. It also maintains onChanged state.
Getting Started
In the pubspec.yaml
of your flutter project, add the following dependency:
flutter_radio_group: "^latest_version"
Import it:
import'package:flutter_radio_group/flutter_radio_group.dart';
Demo
Usage Examples
var _listHorizontal = ["Horizontal 1", "Horizontal 2", "Horizontal 3"];
var _indexHorizontal = 0;
FlutterRadioGroup(
titles: _listHorizontal,
labelStyle: TextStyle(color: Colors.white38),
labelVisible: true,
label: "This is label radio",
activeColor: Colors.blue,
titleStyle: TextStyle(fontSize: 14),
defaultSelected: _indexHorizontal,
orientation: RGOrientation.HORIZONTAL,
onChanged: (index) {
setState(() {
_indexHorizontal = index;
});
}),
Select Index Programmatically
var _key = GlobalKey<RadioGroupState>();
/// Update selected radio
_key.currentState.setIndexSelected(3);
FlutterRadioGroup(
key:_key
titles: _listHorizontal,
labelStyle: TextStyle(color: Colors.white38),
labelVisible: true,
label: "This is label radio",
activeColor: Colors.blue,
titleStyle: TextStyle(fontSize: 14),
defaultSelected: _indexHorizontal,
orientation: RGOrientation.HORIZONTAL,
onChanged: (index) {
setState(() {
_indexHorizontal = index;
});
}),
Tips
Set defaultSelected to -1 to empty selected radio group
Available Parameters
Param | isRequired |
---|---|
RGOrientation orientation (RGOrientation.VERTICAL) | No |
List<String> titles | Yes |
TextStyle titleStyle | No |
String label | No |
TextStyle labelStyle | No |
int defaultSelected (0) | No |
bool labelVisible (true) | No |
Color activeColor (PrimaryColor) | No |
Function(int) onChanged | No |