Creare una rating bar in Flutter

Mattepuffo's logo
Creare una rating bar in Flutter

Creare una rating bar in Flutter

In questo articolo vediamo come creare una rating bar in Flutter.

Per farlo useremo il package flutter_rating_bar!

Per installarlo:

flutter pub add flutter_rating_bar

Qui sotto un esempio di codice:

import 'package:flutter/material.dart';
import 'package:flutter_rating_bar/flutter_rating_bar.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Test',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Test'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: RatingBar.builder(
        initialRating: 3,
        minRating: 1,
        direction: Axis.horizontal,
        allowHalfRating: true,
        itemCount: 5,
        itemPadding: const EdgeInsets.symmetric(horizontal: 4.0),
        itemBuilder: (context, _) => const Icon(
          Icons.access_alarm,
          color: Colors.amber,
        ),
        onRatingUpdate: (rating) {
          print(rating);
        },
      ),
    );
  }
}

Qui abbiamo usato il builder, ma è anche possibile usare RatingBar con RatingWidget al suo interno per personalizzare le voci.

Nell'esempio della documentazione ci stanno i cuori al posto delle stelle ad esempio.

Oppure potete anche semplicemente cambiare icona.

Enjoy!


Condividi

Commentami!