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.
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';
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;
});
}),
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;
});
}),
Set defaultSelected to -1 to empty selected radio group
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 |