If you’re starting with Flutter and looking for a simple way to manage state, ValueNotifier
is one of the easiest and most efficient tools to begin with. It’s a built-in class in Dart that allows you to listen for changes in a value and update the UI accordingly. Especially useful in small Flutter apps, ValueNotifier
is lightweight, reactive, and doesn’t require third-party packages.

This guide will walk you through a simple ValueNotifier
example using Android Studio as your development environment. It’s beginner-friendly and great for understanding the basics of reactive state management in Dart.
Step-by-Step Implementation Using Android Studio
1. Create a New Flutter Project
Open Android Studio, start a new Flutter project, and name it valuenotifier_example
.
2. Update the Main File
Replace the contents of your main.dart
with the following:
import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); }
MyApp Class
class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'ValueNotifier Example', theme: ThemeData( primarySwatch: Colors.blue, ), home: const HomeScreen(), ); } }
HomeScreen with ValueNotifier Logic
class HomeScreen extends StatelessWidget { const HomeScreen({super.key}); @override Widget build(BuildContext context) { final counter = ValueNotifier<int>(0); return Scaffold( appBar: AppBar(title: const Text('ValueNotifier in Dart')), body: Center( child: ValueListenableBuilder<int>( valueListenable: counter, builder: (context, value, _) { return Text( 'Counter: $value', style: const TextStyle(fontSize: 28), ); }, ), ), floatingActionButton: FloatingActionButton( onPressed: () => counter.value++, child: const Icon(Icons.add), ), ); } }
Explanation
- ValueNotifier<int>(0): Initializes the counter with value
0
. - ValueListenableBuilder: Rebuilds the widget when
counter.value
changes. - counter.value++: Increments the value and triggers the UI update.
Further Reading
To dive deeper into state management in Flutter, you can visit Flutter Docs on ValueNotifier.