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.valuechanges. - 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.