Search packages, repositories and app categories

rating cover
Package detailsv1.0.0-dev.1

rating

Rating bottom sheet

30-day downloads
26
Likes
30
Pub points
40

Install package

flutter pub add rating

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Flutter package that provides a customizable bottom sheet for collecting user ratings, designed to enhance feedback collection in apps. It offers a clean, intuitive interface for users to rate experiences with visual indicators like stars or numerical inputs. The bottom sheet can be easily integrated into existing workflows and supports customization of appearance and behavior. Ideal for post-interaction feedback in mobile applications.

Use cases

  • Collecting user feedback after app usage
  • Gathering ratings for services or products
  • Enhancing user engagement through interactive feedback
  • Improving app experience based on user input
  • Implementing rating prompts in specific app flows

Key features

  • Bottom sheet UI for ratings
  • Customizable star or numeric rating options
  • Easy integration with Flutter apps
  • Configurable appearance and behavior
  • Supports smooth transitions and animations

Suitable for

  • Mobile apps seeking user feedback
  • Apps requiring post-action rating prompts
  • Developers wanting simple feedback mechanisms
  • Projects focused on user experience improvement
  • Applications with interactive feedback needs

Considerations

  • Limited to mobile platforms (no web/desktop support)
  • Requires manual handling of rating submission logic
  • May need additional styling for brand consistency
  • Depends on external source code repository
  • No built-in persistence or analytics

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Rating bottom sheet

Features

Getting started

pubspec.yaml

rating: <lastest version>

Usage

Implement the RatingController

class PrintRatingController extends RatingController {
  PrintRatingController(RatingModel ratingModel) : super(ratingModel);

  @override
  Future<void> ignoreForEverCallback() async {
    print('Rating ignored forever!');
    await Future.delayed(const Duration(seconds: 3));
  }

  @override
  Future<void> saveRatingCallback(int rate, List<RatingCriterionModel> selectedCriterions) async {
    print('Rating saved!\nRate: $rate\nsSelectedItems: $selectedCriterions');
    await Future.delayed(const Duration(seconds: 3));
  }
}

Create one RatingModel

final ratingModel = RatingModel(
  id: 1,
  title: null,
  subtitle: 'Classifique nosso app:',
  ratingConfig: RatingConfigModel(
    id: 1,
    ratingSurvey1: 'Em que podemos melhorar?',
    ratingSurvey2: 'Em que podemos melhorar?',
    ratingSurvey3: 'Em que podemos melhorar?',
    ratingSurvey4: 'Em que podemos melhorar?',
    ratingSurvey5: 'O que você mais gostou?',
    items: [
      RatingCriterionModel(id: 1, name: 'Qualidade do atendimento'),
      RatingCriterionModel(id: 2, name: 'Competência dos atendentes'),
      RatingCriterionModel(id: 3, name: 'Limpeza do ambiente'),
      RatingCriterionModel(id: 4, name: 'Tempo de espera'),
    ],
  ),
);

Show the Rating Widget using the custom Rating Controller PrintRatingController and the new RatingModel

showModalBottomSheet(
  context: context,
  builder: (context) => RatingWidget(controller: PrintRatingController(ratingModel)),
);

Categories

Dependencies

Dependency list 2 items

Source repository

Projects using this package

No data available yet.