defaultDarkTheme property
ThemeData
defaultDarkTheme
The Default Dark Theme. The coolest Theme. If you wan't a cool Theme, that is different from the Standard Flutter Theme, but you don't want to make your own Theme, or you don't know how to, use this Theme.
Implementation
static ThemeData get defaultDarkTheme => ThemeData(
// General Values
useMaterial3: true,
brightness: Brightness.dark,
materialTapTargetSize: MaterialTapTargetSize.padded,
cupertinoOverrideTheme: NoDefaultCupertinoThemeData(
brightness: Brightness.dark,
scaffoldBackgroundColor: Colors.grey.shade800,
primaryColor: Coloring.mainColor,
),
visualDensity: VisualDensity.adaptivePlatformDensity,
// Colors
primaryColor: Coloring.mainColor,
colorScheme: Coloring.darkColorScheme,
focusColor: Coloring.focusedBorderSideColor,
dividerColor: Coloring.dividerColor,
disabledColor: Coloring.disabledColor,
scaffoldBackgroundColor: Coloring.darkBackgroundColor,
shadowColor: Colors.black87,
primaryColorDark: Coloring.mainColor,
primaryColorLight: Coloring.mainColor,
dialogBackgroundColor: Colors.grey.shade800,
/* Button Themes */
buttonTheme: ButtonThemeData(
materialTapTargetSize: MaterialTapTargetSize.padded,
alignedDropdown: false,
buttonColor: Coloring.mainColor,
disabledColor: Coloring.disabledColor,
colorScheme: Coloring.darkColorScheme,
layoutBehavior: ButtonBarLayoutBehavior.padded,
textTheme: ButtonTextTheme.normal,
focusColor: Coloring.mainColor,
),
// Text Button Theme
textButtonTheme: TextButtonThemeData(
style: ButtonStyle(
foregroundColor: MaterialStateProperty.all<Color>(
Coloring.secondaryColor,
),
backgroundColor: MaterialStateProperty.all<Color>(
Coloring.mainColor,
),
alignment: Alignment.center,
enableFeedback: true,
side: MaterialStateProperty.all<BorderSide>(
BorderValues.buttonBorderSide,
),
tapTargetSize: MaterialTapTargetSize.padded,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
),
// Toogle Buttons Theme
toggleButtonsTheme: const ToggleButtonsThemeData(),
// Elevated Button Theme
elevatedButtonTheme: ElevatedButtonThemeData(
style: ButtonStyle(
alignment: Alignment.center,
backgroundColor: MaterialStateProperty.all<Color>(
Coloring.mainColor,
),
enableFeedback: true,
foregroundColor: MaterialStateProperty.all<Color>(
Coloring.secondaryColor,
),
shape: MaterialStateProperty.all<OutlinedBorder>(
RoundedRectangleBorder(
borderRadius: const BorderRadius.all(Radius.circular(20.0)),
side: BorderValues.buttonBorderSide,
),
),
side: MaterialStateProperty.all<BorderSide>(
BorderValues.buttonBorderSide,
),
),
),
// Outline Button Theme
outlinedButtonTheme: OutlinedButtonThemeData(
style: ButtonStyle(
foregroundColor:
MaterialStateProperty.all<Color>(Coloring.secondaryColor),
backgroundColor:
MaterialStateProperty.all<Color>(Coloring.mainColor),
alignment: Alignment.center,
enableFeedback: true,
tapTargetSize: MaterialTapTargetSize.padded,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
),
/// Floating Action Button Theme
floatingActionButtonTheme: FloatingActionButtonThemeData(
backgroundColor: Coloring.mainColor,
elevation: 15,
disabledElevation: 5,
enableFeedback: true,
focusColor: Coloring.mainColor.withOpacity(0.4),
focusElevation: 17,
foregroundColor: Coloring.secondaryColor,
hoverElevation: 17,
shape: RoundedRectangleBorder(
borderRadius: const BorderRadius.all(Radius.circular(30)),
side: BorderSide(
color: Coloring.mainColor,
style: BorderStyle.solid,
width: 0.25,
),
),
),
// Input Decoration Theme
inputDecorationTheme: InputDecorationTheme(
alignLabelWithHint: true,
filled: false,
floatingLabelAlignment: FloatingLabelAlignment.center,
floatingLabelBehavior: FloatingLabelBehavior.auto,
labelStyle: TextValues.darkInputLabelStyle,
floatingLabelStyle: TextValues.darkInputFloatingLabelStyle,
helperMaxLines: 2,
isCollapsed: false,
isDense: false,
border: OutlineInputBorder(
borderRadius: BorderValues.inputBorderRadius,
borderSide: BorderValues.darkBorderSide,
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderValues.inputBorderRadius,
borderSide: BorderValues.darkBorderSide,
),
errorBorder: OutlineInputBorder(
borderRadius: BorderValues.inputBorderRadius,
borderSide: BorderValues.errorBorderSide,
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderValues.inputBorderRadius,
borderSide: BorderValues.darkFocusedBoderSide,
),
focusedErrorBorder: OutlineInputBorder(
borderRadius: BorderValues.inputBorderRadius,
borderSide: BorderValues.errorBorderSide,
),
disabledBorder: OutlineInputBorder(
borderRadius: BorderValues.inputBorderRadius,
borderSide: BorderValues.lightDisabledBorderSide,
),
errorMaxLines: 10,
errorStyle: TextValues.errorStyle,
fillColor: Coloring.fillColor,
),
// Divider Theme
dividerTheme: const DividerThemeData(
color: Coloring.dividerColor,
thickness: NumberValues.dividerThickness,
),
/* AppBar Themes */
appBarTheme: AppBarTheme(
centerTitle: true,
elevation: 5.0,
systemOverlayStyle: SystemUiOverlayStyle(
statusBarBrightness: BrightnessValues.statusBarBrightness,
statusBarColor: Coloring.mainColor,
statusBarIconBrightness: BrightnessValues.statusBarBrightness,
systemNavigationBarColor: Colors.transparent,
systemNavigationBarIconBrightness:
BrightnessValues.statusBarBrightness,
systemNavigationBarDividerColor: Colors.red,
),
backgroundColor: Coloring.mainColor,
iconTheme: IconThemes.iconTheme,
actionsIconTheme: IconThemes.iconTheme,
shadowColor: Colors.black87,
foregroundColor: Coloring.secondaryColor,
shape: RoundedRectangleBorder(
borderRadius: const BorderRadius.only(
bottomLeft: Radius.circular(33),
bottomRight: Radius.circular(33),
),
side: BorderSide(
color: Coloring.mainColor.withAlpha(50),
style: BorderStyle.solid,
width: 1.0,
),
),
),
// Bottom AppBar Themee
bottomAppBarTheme: const BottomAppBarTheme(),
// Bottom Navigation Bar Theme
bottomNavigationBarTheme: BottomNavigationBarThemeData(
elevation: 10.0,
enableFeedback: true,
landscapeLayout: BottomNavigationBarLandscapeLayout.linear,
backgroundColor: Coloring.mainColor,
selectedIconTheme: IconThemes.iconTheme,
unselectedIconTheme: IconThemes.iconTheme,
selectedItemColor: Coloring.secondaryColor,
unselectedItemColor: Coloring.secondaryColor,
showSelectedLabels: true,
showUnselectedLabels: false,
type: BottomNavigationBarType.shifting,
mouseCursor: MaterialStateProperty.resolveWith(
((states) => _bottomNavigationBarMouseCursor(states)),
),
),
/* Radio Theme */
radioTheme: RadioThemeData(
fillColor: MaterialStateProperty.all<Color>(Coloring.mainColor),
visualDensity: VisualDensity.adaptivePlatformDensity,
materialTapTargetSize: MaterialTapTargetSize.padded,
),
/* List Tile Theme */
listTileTheme: ListTileThemeData(
enableFeedback: true,
style: ListTileStyle.list,
dense: false,
iconColor: Coloring.darkTextColor,
textColor: Coloring.darkTextColor,
shape: RoundedRectangleBorder(
borderRadius: const BorderRadius.all(
Radius.circular(50),
),
side: BorderSide(
color: Coloring.darkBackgroundColor,
style: BorderStyle.solid,
width: 0.5,
),
),
minLeadingWidth: 10,
minVerticalPadding: 10,
),
/* Icon Themes */
iconTheme: IconThemes.darkIconTheme,
primaryIconTheme: IconThemes.darkIconTheme,
/* Checkbox Theme */
checkboxTheme: CheckboxThemeData(
checkColor: MaterialStateProperty.all<Color>(Coloring.secondaryColor),
fillColor: MaterialStateProperty.all<Color>(Coloring.mainColor),
materialTapTargetSize: MaterialTapTargetSize.padded,
visualDensity: VisualDensity.adaptivePlatformDensity,
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(
Radius.circular(30),
),
),
side: BorderSide(
color: Coloring.mainColor,
style: BorderStyle.solid,
width: 0.7,
),
),
/* Switch Theme Data */
switchTheme: const SwitchThemeData(
materialTapTargetSize: MaterialTapTargetSize.padded,
),
/* Bottom Sheet Theme */
bottomSheetTheme: BottomSheetThemeData(
modalBackgroundColor: Colors.grey.shade800,
modalElevation: 10.0,
backgroundColor: Colors.grey.shade800,
clipBehavior: Clip.antiAliasWithSaveLayer,
elevation: 10.0,
shape: RoundedRectangleBorder(
borderRadius: const BorderRadius.all(
Radius.circular(30),
),
side: BorderSide(
color: Coloring.mainColor,
style: BorderStyle.solid,
width: 0.2,
),
),
),
/* Dialog Theme */
dialogTheme: DialogTheme(
alignment: Alignment.center,
backgroundColor: Colors.grey.shade800,
elevation: 25.0,
shape: RoundedRectangleBorder(
borderRadius: const BorderRadius.all(
Radius.circular(20),
),
side: BorderSide(
color: Coloring.mainColor,
style: BorderStyle.solid,
width: 0.1,
),
),
),
/* Text Theme */
textTheme: TextValues.darkTextTheme,
/* Progress Indicator Theme */
progressIndicatorTheme: ProgressIndicatorThemeData(
circularTrackColor: Coloring.darkBackgroundColor,
color: Coloring.mainColor,
refreshBackgroundColor: Coloring.darkBackgroundColor,
),
/* Drawer Theme */
drawerTheme: DrawerThemeData(
backgroundColor: Colors.grey.shade900,
elevation: 7.0,
),
/* Typography */
typography: Typography.material2021(),
/* Scrollbar Theme */
scrollbarTheme: ScrollbarThemeData(
trackVisibility: MaterialStateProperty.all<bool>(true),
interactive: true,
thumbVisibility: MaterialStateProperty.all<bool>(false),
radius: const Radius.circular(20),
),
);