Flutter's theming system lets you define consistent visual styling (colors, fonts, component styles) app-wide, with support for light/dark themes. Centralizing styling through themes ensures consistency and makes apps easy to restyle.
Defining a theme
// define the app's theme in MaterialApp
MaterialApp(
theme: ThemeData( // LIGHT theme
colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
textTheme: TextTheme(/* font styles */),
elevatedButtonTheme: /* button styling */,
useMaterial3: true,
),
darkTheme: ThemeData.dark(), // DARK theme
themeMode: ThemeMode.system, // follow the system setting (or .light/.dark)
)
