How to change the default color of DatePicker and TimePicker dialog in Android?

后端 未结 5 1399
轻奢々
轻奢々 2020-12-02 23:04

Is there any way to change the default color of DatePicker and TimePicker dialog?

This is the code I tried



        
相关标签:
5条回答
  • 2020-12-02 23:39

    you can change theme of your date-picker by changing theme like this.

    change items according to you.

    <style name="date_picker" parent="@android:style/Widget.DeviceDefault.DatePicker">
    <item name="android:divider">@drawable/dialog_divider</item>
    

    change items according to you. and set this theme to your data-picker style

    style="@style/date_picker"
    
    0 讨论(0)
  • 2020-12-02 23:40

    The best way to change the picker dialog is by adding custom style to it.

    <style name="TimePickerTheme" parent="Theme.AppCompat.Light.Dialog">
        <item name="colorAccent">@color/color_primary</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
    </style>
    
    TimePickerDialog timePicker = new TimePickerDialog(mContext, R.style.TimePickerTheme, fromListener, hour, min, false);
    

    Worked perfectly for me.

    0 讨论(0)
  • 2020-12-02 23:41

    You have to create a custom theme and save it in some directories to finally set this theme as the default one for the app

    First, in values add a themes.xml like this:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="MyAppTheme" parent="@android:style/Theme.Light.NoTitleBar">
            <!-- Any customizations for your app running on pre-3.0 devices here -->
        </style>
    </resources> 
    

    Then, create a directory with the name "values-v11" (Android 3.0+ ) in the res directory and put a themes.xml like this

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="MyAppTheme" parent="@android:style/Theme.Holo.Light">
            <!-- Any customizations for your app running on 3.0+ devices here -->
        </style>
    </resources>
    

    Finally, create a directory with the name "values-v14" (Android 4.0+) in the res directory and create a themes.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="MyAppTheme" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar">
            <!-- Any customizations for your app running on 4.0+ devices here -->
        </style>
    </resources>
    

    Finally in your manifest.xml

    <application
            ...
            android:theme="@style/MyAppTheme">
    
    0 讨论(0)
  • 2020-12-02 23:52

    I think there is no way to change the grey color of the old native picker widgets easily in XML.

    I propose you use the library HoloEverywhere so that DatePicker and TimePicker look really nice on all Android platforms 2.1+.

    0 讨论(0)
  • 2020-12-02 23:55

    For Date Picker add this codes to color.xml

      <color name="mdtp_accent_color">#070B82</color>
      <color name="mdtp_accent_color_dark">#0D105E</color>
    

    For both you can define style in style.xml

     <style name="TimePickerTheme" parent="Theme.AppCompat.Light.Dialog">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/blue</item>
    </style>
    

    and set style in xml:

     android:theme="@style/MyAppTheme"
    

    or programically:

    TimePickerDialog timePicker = new TimePickerDialog(mContext, R.style.TimePickerTheme, fromListener, hour, min, false);

    0 讨论(0)
提交回复
热议问题