FormBuilderRatingBar constructor
FormBuilderRatingBar({
- Key? key,
- AutovalidateMode? autovalidateMode,
- bool enabled = true,
- double? initialValue,
- FocusNode? focusNode,
- FormFieldSetter<
double> ? onSaved, - FormFieldValidator<
double> ? validator, - InputDecoration decoration = const InputDecoration(),
- required String name,
- ValueChanged<
double?> ? onChanged, - ValueTransformer<
double?> ? valueTransformer, - VoidCallback? onReset,
- bool allowHalfRating = false,
- Axis direction = Axis.horizontal,
- bool glow = true,
- Color? glowColor,
- double glowRadius = 2,
- double initialRating = 0.0,
- int itemCount = 5,
- EdgeInsetsGeometry itemPadding = EdgeInsets.zero,
- double itemSize = 40.0,
- double? maxRating,
- double minRating = 0,
- RatingWidget? ratingWidget,
- bool tapOnlyMode = false,
- TextDirection? textDirection,
- Color? unratedColor,
- bool updateOnDrag = false,
- WrapAlignment wrapAlignment = WrapAlignment.start,
Implementation
FormBuilderRatingBar({
super.key,
super.autovalidateMode,
super.enabled,
super.initialValue,
super.focusNode,
super.onSaved,
super.validator,
super.decoration,
required super.name,
super.onChanged,
super.valueTransformer,
super.onReset,
this.allowHalfRating = false,
this.direction = Axis.horizontal,
this.glow = true,
this.glowColor,
this.glowRadius = 2,
this.initialRating = 0.0,
this.itemCount = 5,
this.itemPadding = EdgeInsets.zero,
this.itemSize = 40.0,
this.maxRating,
this.minRating = 0,
this.ratingWidget,
this.tapOnlyMode = false,
this.textDirection,
this.unratedColor,
this.updateOnDrag = false,
this.wrapAlignment = WrapAlignment.start,
}) : super(
builder: (FormFieldState<double?> field) {
final state = field as FormBuilderRatingBarState;
final widget = state.widget;
return InputDecorator(
decoration: state.decoration,
child: RatingBar(
initialRating: field.value ?? widget.minRating,
minRating: widget.minRating,
direction: widget.direction,
allowHalfRating: widget.allowHalfRating,
itemCount: widget.itemCount,
itemPadding: widget.itemPadding,
// itemBuilder: widget.itemBuilder
onRatingUpdate: (rating) {
field.didChange(rating);
},
ratingWidget: widget.ratingWidget ??
RatingWidget(
full: const Icon(Icons.star),
half: const Icon(Icons.star_half_outlined),
empty: const Icon(Icons.star_outline),
),
glow: widget.glow,
glowColor: widget.glowColor,
glowRadius: widget.glowRadius,
ignoreGestures: !state.enabled,
itemSize: widget.itemSize,
maxRating: widget.maxRating,
tapOnlyMode: widget.tapOnlyMode,
textDirection: widget.textDirection,
unratedColor: widget.unratedColor,
updateOnDrag: widget.updateOnDrag,
wrapAlignment: widget.wrapAlignment,
),
);
},
);