I’m using the showDatePicker()
method to display a date picker in my flutter application. How do I customize the colors of the date picker?
Here is my theme's code:
class CustomTheme extends Theme { /* * Colors: * Primary Blue: #335C81 (51, 92, 129) * Light Blue: #74B3CE (116, 179, 206) * Yellow: #FCA311 (252, 163, 17) * Red: #E15554 (255, 85, 84) * Green: #3BB273 (59, 178, 115) */ static int _fullAlpha = 255; static Color blueDark = new Color.fromARGB(_fullAlpha, 51, 92, 129); static Color blueLight = new Color.fromARGB(_fullAlpha, 116, 179, 206); static Color yellow = new Color.fromARGB(_fullAlpha, 252, 163, 17); static Color red = new Color.fromARGB(_fullAlpha, 255, 85, 84); static Color green = new Color.fromARGB(_fullAlpha, 59, 178, 115); static Color activeIconColor = yellow; CustomTheme(Widget child): super( child: child, data: new ThemeData( primaryColor: blueDark, accentColor: yellow, cardColor: blueLight, backgroundColor: blueDark, highlightColor: red, splashColor: green ) ); }
Here is my code for wrapping the page in the theme:
@override Widget build(BuildContext context) { [...] return new CustomTheme( new Scaffold( [...] ) ); }
Right click on datepicker box. Select 'inspect' (Ctrl+Shift+I) in Chrome or 'inspect element' (Q) in Firefox. Find the CSS style that you want to change.
Click the Data tab. In the Data type box, click Date and Time (dateTime). Click Format. In the Date and Time Format dialog box, in the Display the time like this list, click the option that you want, and then click OK.
The above answers are working except for the Ok/Cancel buttons. Just adding this in case somebody needs help on customizing it. It is a combination of colorScheme and buttonTheme.
showTimePicker( context: context, initialTime: TimeOfDay(hour: hour, minute: minute), builder: (BuildContext context, Widget child) { return Theme( data: ThemeData.light().copyWith( primaryColor: const Color(0xFF8CE7F1), accentColor: const Color(0xFF8CE7F1), colorScheme: ColorScheme.light(primary: const Color(0xFF8CE7F1)), buttonTheme: ButtonThemeData( textTheme: ButtonTextTheme.primary ), ), child: child, ); }, );
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With