我正在为我的应用程序使用支持库21。我的主题也在 values-v21 中定义,但DatePickerDialog并未使用强调色作为背景和文本颜色。

我该怎么做才能将此颜色更改为强调色?

我当前的themes.xml是

values/themes.xml

<style name="AppTheme" parent="AppTheme.Base" />

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="windowActionModeOverlay">true</item>

    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

values-v21/themes.xml
<style name="AppTheme" parent="AppTheme.Base">
    <item name="android:colorPrimary">@color/colorPrimary</item>
    <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="android:colorAccent">@color/colorAccent</item>

    <item name="android:alertDialogTheme">@style/AppTheme.AlertDialog</item>
</style>

<style name="AppTheme.AlertDialog" parent="android:Theme.Material.Light.Dialog.Alert">
    <item name="android:colorPrimary">@color/colorPrimary</item>
    <item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="android:colorAccent">@color/colorAccent</item>
</style>

最佳答案

您的对话框主题需要扩展Theme.AppCompat.Light.Dialog而不是Theme.Material.Light.Dialog.Alert。这是一个例子:

<!-- Base Theme Styles -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    <!-- my theme stuff -->
    ...

    <!-- dialog theme stuff -->
    <item name="android:dialogTheme">@style/AppTheme.DialogTheme</item>

</style>

<!-- Styles for pop-up dialogs -->
<style name="AppTheme.DialogTheme" parent="Theme.AppCompat.Light.Dialog">

    <item name="android:colorPrimary">@color/primaryColor</item>
    <item name="android:colorPrimaryDark">@color/primaryColorDark</item>
    <item name="android:colorAccent">@color/accentColor</item>

</style>

关于android - Android DatePickerDialog配音颜色(在v21 +中),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27319516/

10-11 20:01