attach method
Implementation
@override
Widget? attach(BuildContext context, RatingViewController controller) {
var mRC = controller.ratedColor ?? context.primaryColor;
var mUC = controller.ratedColor ?? context.primaryColor.withAlpha(50);
if (type == RatingViewType.indicator) {
return RatingIndicator(
direction: controller.orientation,
itemCount: controller.itemCount,
itemPadding: controller.itemPadding,
itemSize: controller.itemSize,
physics: controller.ratingPhysics,
rating: controller.initialRating,
textDirection: controller.textDirection,
unratedColor: controller.unratedColor ?? mUC,
itemBuilder: (context, rating) {
return RawIconView(
icon: controller.ratedIcon ?? Icons.star,
tint: controller.ratedColor ?? mRC,
);
},
);
} else {
return RawRatingView(
allowHalfRating: controller.allowHalfRating,
direction: controller.orientation,
ignoreGestures: controller.ignoreGestures,
initialRating: controller.initialRating,
itemCount: controller.itemCount,
itemPadding: controller.itemPadding,
itemSize: controller.itemSize,
glow: controller.glow,
glowColor: controller.glowColor,
glowRadius: controller.glowRadius,
maxRating: controller.maxRating,
minRating: controller.minRating,
tapOnlyMode: controller.tapMode,
textDirection: controller.textDirection,
unratedColor: controller.unratedColor ?? mUC,
updateOnDrag: controller.draggable,
wrapAlignment: controller.wrapAlignment,
ratingIcon: RatingIcon(
full: RawIconView(
icon: controller.ratedIcon ?? Icons.star,
tint: controller.ratedColor ?? mRC,
),
half: RawIconView(
icon: controller.halfRatedIcon ?? Icons.star_half,
tint: controller.halfRatedColor ?? mRC.withOpacity(0.75),
),
empty: RawIconView(
icon: controller.unratedIcon ?? Icons.star_outline,
tint: controller.unratedColor ?? mRC.withOpacity(0.5),
),
),
onRatingChange: controller._changeRating,
);
}
}