attach method

  1. @override
Widget? attach(
  1. BuildContext context,
  2. RatingViewController controller
)
override

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,
    );
  }
}