darkTheme top-level property
ThemeData
get
darkTheme
Dark theme with good contrast and readability
Implementation
ThemeData get darkTheme => ThemeData(
useMaterial3: true,
colorScheme: ColorScheme.dark(
primary: DarkModeColors.darkPrimary,
onPrimary: DarkModeColors.darkOnPrimary,
primaryContainer: DarkModeColors.darkPrimaryContainer,
onPrimaryContainer: DarkModeColors.darkOnPrimaryContainer,
secondary: DarkModeColors.darkSecondary,
onSecondary: DarkModeColors.darkOnSecondary,
tertiary: DarkModeColors.darkTertiary,
onTertiary: DarkModeColors.darkOnTertiary,
error: DarkModeColors.darkError,
onError: DarkModeColors.darkOnError,
errorContainer: DarkModeColors.darkErrorContainer,
onErrorContainer: DarkModeColors.darkOnErrorContainer,
surface: DarkModeColors.darkSurface,
onSurface: DarkModeColors.darkOnSurface,
surfaceContainerHighest: DarkModeColors.darkSurfaceVariant,
onSurfaceVariant: DarkModeColors.darkOnSurfaceVariant,
outline: DarkModeColors.darkOutline,
shadow: DarkModeColors.darkShadow,
inversePrimary: DarkModeColors.darkInversePrimary,
),
brightness: Brightness.dark,
scaffoldBackgroundColor: DarkModeColors.darkSurface,
appBarTheme: const AppBarTheme(
backgroundColor: Colors.transparent,
foregroundColor: DarkModeColors.darkOnSurface,
elevation: 0,
scrolledUnderElevation: 0,
),
cardTheme: CardThemeData(
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
side: BorderSide(
color: DarkModeColors.darkOutline.withValues(alpha: 0.2),
width: 1,
),
),
),
textTheme: _buildTextTheme(Brightness.dark),
);