zeba_academy_rating 1.0.0
zeba_academy_rating: ^1.0.0 copied to clipboard
Beautiful customizable rating widget with half-star support.
⭐ zeba_academy_rating #
A highly customizable Flutter rating widget with support for full stars, half-stars, read-only mode, interactive mode, custom icons, and rating callbacks.
Perfect for product reviews, feedback forms, e-commerce apps, restaurant apps, movie ratings, educational platforms, and more.
✨ Features #
- ⭐ Interactive star rating
- 🌗 Half-star support
- 🔒 Read-only mode
- 🎯 Fully interactive mode
- 🎨 Custom filled, half-filled, and empty icons
- 📏 Custom icon size
- 🎨 Custom colors
- 🔢 Configurable maximum rating
- 📣 Rating change callbacks
- ⚡ Lightweight and easy to integrate
- 📱 Responsive design
- 🚀 Production-ready
📦 Installation #
Add the dependency to your pubspec.yaml.
dependencies:
zeba_academy_rating: ^1.0.0
Then run:
flutter pub get
📥 Import #
import 'package:zeba_academy_rating/zeba_academy_rating.dart';
Basic Usage #
ZebaAcademyRating(
initialRating: 3.5,
onRatingChanged: (rating) {
print(rating);
},
)
Read Only Rating #
ZebaAcademyRating(
initialRating: 4.5,
readOnly: true,
)
Half-Star Support #
ZebaAcademyRating(
initialRating: 2.5,
allowHalfRating: true,
)
Custom Icons #
ZebaAcademyRating(
filledIcon: Icons.favorite,
halfFilledIcon: Icons.favorite,
unfilledIcon: Icons.favorite_border,
filledColor: Colors.red,
)
Custom Maximum Rating #
ZebaAcademyRating(
maxRating: 10,
)
Rating Callback #
ZebaAcademyRating(
onRatingChanged: (rating) {
debugPrint("Current Rating: $rating");
},
)
Complete Example #
import 'package:flutter/material.dart';
import 'package:zeba_academy_rating/zeba_academy_rating.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text("Rating Example")),
body: Center(
child: ZebaAcademyRating(
initialRating: 4,
allowHalfRating: true,
iconSize: 36,
filledColor: Colors.amber,
onRatingChanged: (rating) {
debugPrint("Rating: $rating");
},
),
),
),
);
}
}
Widget Properties #
| Property | Type | Default | Description |
|---|---|---|---|
| initialRating | double | 0 | Initial rating value |
| maxRating | int | 5 | Maximum number of stars |
| allowHalfRating | bool | true | Enables half-star ratings |
| readOnly | bool | false | Disables user interaction |
| iconSize | double | 28 | Size of rating icons |
| filledColor | Color | Colors.amber | Filled icon color |
| unfilledColor | Color | Colors.grey | Empty icon color |
| filledIcon | IconData | Icons.star | Filled icon |
| halfFilledIcon | IconData | Icons.star_half | Half-filled icon |
| unfilledIcon | IconData | Icons.star_border | Empty icon |
| onRatingChanged | ValueChanged | null | Rating callback |
Use Cases #
- Product Reviews
- Course Ratings
- Restaurant Reviews
- Hotel Reviews
- Movie Ratings
- Book Ratings
- Teacher Feedback
- Customer Satisfaction
- Survey Applications
- Service Reviews
Platform Support #
| Platform | Supported |
|---|---|
| Android | ✅ |
| iOS | ✅ |
| Web | ✅ |
| Windows | ✅ |
| macOS | ✅ |
| Linux | ✅ |
Why zeba_academy_rating? #
- Simple API
- Easy integration
- Highly customizable
- Lightweight
- Null-safe
- Production-ready
- Cross-platform
- Well documented
Roadmap #
- Animated rating transitions
- Fractional rating support
- Emoji rating mode
- Vertical rating layout
- RTL support
- Accessibility improvements
- Theme extensions
- Controller enhancements
- Custom rating shapes
Contributing #
Contributions are welcome!
If you'd like to improve this package, please feel free to fork the repository, create a feature branch, and submit a pull request.
Please ensure that your code follows Flutter and Dart best practices and includes appropriate documentation and tests.
License #
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
See the LICENSE file for details.
About Me #
✨ I’m Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.
You can learn more about me and my work at https://sufyanism.com/ or connect with me on LinkedIn:
https://www.linkedin.com/in/sufyanism
Your All-in-One Learning Hub! #
🚀 Explore courses and resources in coding, technology, and software development through Zeba Academy.
Empower yourself with practical skills, curated tutorials, real-world projects, and hands-on learning experiences.
🌐 Main Website
https://zeba.academy
💻 Coding Platform
https://code.zeba.academy
📺 YouTube
https://www.youtube.com/@zeba.academy
📸 Instagram
https://www.instagram.com/zeba.academy/
⭐ Support #
If you find this package useful, please consider giving the repository a star on GitHub. Your support helps improve the project and encourages future development.
Made with ❤️ for the Flutter community by Zeba Academy.