如何更改ListPreference弹出对话框的样式?

III*_*III 13 android listpreference android-alertdialog

我试图改变ListPreference的弹出对话框的样式,就像我在这个答案中看到的那样.例如,我想要对话框使用不同的背景颜色.

到目前为止,我尝试将自定义样式应用于:

<item name="android:dialogTheme">@style/AlertDialogStyle</item>
<item name="android:alertDialogTheme">@style/AlertDialogStyle</item>
<item name="android:alertDialogStyle">@style/AlertDialogStyle</item>
<item name="android:dialogPreferenceStyle">@style/AlertDialogStyle</item>


<style name="AlertDialogStyle" parent="AlertDialog.AppCompat">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColor">@color/lightGrey</item>
    <item name="android:background">@color/cardBackground</item>
    <item name="android:popupBackground">@color/cardBackground</item>
    <item name="android:windowBackground">@color/cardBackground</item>
    <item name="android:itemBackground">@color/cardBackground</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但我的风格仍未应用/背景颜色不变.

这就是我的ListPreference的弹出对话框当前的样子:

在此输入图像描述

这是我想要存档的颜色主题(基本上我用于其他对话框的主题相同):

在此输入图像描述


要快速重现我的问题 - >我的项目是在github上

III*_*III 7

回答我自己的问题.最后它就像更换一样简单:

<item name="android:alertDialogTheme">@style/AlertDialogStyle</item>
Run Code Online (Sandbox Code Playgroud)

<item name="alertDialogTheme">@style/AlertDialogStyle</item>
Run Code Online (Sandbox Code Playgroud)

  • 去哪里换呢? (2认同)