First Project#
comming soon…
Let’s First import packages:
import 'package:flutter/material.dart';
import 'package:flutter_rating_bar/flutter_rating_bar.dart';
class _RatingExampleState extends State<RatingExample> {
double rating = 3.0;
// Rating Method to set rating
Widget buildRatingBar() {
return RatingBar.builder(
initialRating: rating,
minRating: 1,
direction: Axis.horizontal,
allowHalfRating: true,
itemCount: 5,
itemSize: 40,
itemPadding: const EdgeInsets.symmetric(horizontal: 4.0),
itemBuilder: (context, _) {return const Icon(Icons.star, color: Colors.amber);},
onRatingUpdate: (value) {
setState(() {
rating = value;
});
print("Rating: $value");
},
);
}
// To show rating from given rate
Widget buildStaticStars(double value) {
return RatingBarIndicator(
rating: value,
itemSize: 30,
itemCount: 5,
itemBuilder: (context, _) =>
const Icon(Icons.star, color: Colors.blue),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Rating Bar Example')),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
buildRatingBar(), // interactive stars
const SizedBox(height: 20),
buildStaticStars(rating), // shows the chosen value as stars
],
)
);
}
}
class RatingExample extends StatefulWidget {
const RatingExample({super.key});
@override
State<RatingExample> createState() { return _RatingExampleState();}
}
class MyApp extends StatelessWidget{
const MyApp({super.key});
@override
Widget build(BuildContext context){
return const MaterialApp(
debugShowCheckedModeBanner: true,
home: RatingExample(),
);
}
}
void main(){
runApp(const MyApp());
}