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 |