ListPreference 列表选项文本颜色

ListPreference list option text color

我正在尝试设置 ListPreference 对话框的样式以适应深色主题,并使用我的代码指定的强调色。但是,无论我添加什么属性,每个选项的文本颜色似乎都没有改变。有没有一种方法可以做到这一点而不必创建我自己的对话框 class? P.s。我已经尝试过这个答案中给出的解决方案: 不,它确实 not 似乎有效。 这是来自 styles.xml 的必需代码:(不是全部代码,但这是我需要展示的全部)

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="dialogPreferenceStyle">@style/DialogBoxTheme</item>
    <item name="listDividerAlertDialog">@style/DialogBoxTheme</item>
    <item name="alertDialogStyle">@style/DialogBoxTheme</item>
    <item name="alertDialogTheme">@style/DialogBoxTheme</item>
</style>

<style name="DialogBoxTheme" parent="ThemeOverlay.AppCompat.Dialog.Alert">
    <item name="android:layout_centerHorizontal">true</item>
    <item name="android:layout_centerVertical">true</item>
    <item name="android:layout_gravity">center</item>
    <item name="android:layout_width">320dp</item>
    <item name="android:layout_height">200dp</item>
    <item name="android:layout_marginStart">16dp</item>
    <item name="android:layout_marginEnd">16dp</item>
    <item name="android:textColorPrimary">@color/colorPrimary</item>
    <item name="android:textColorSecondary">@color/colorPrimary</item>
    <item name="android:textColorHint">@color/Silver</item>
    <item name="android:textColorTertiary">@color/colorAccent</item>
    <item name="android:textColor">@color/colorPrimary</item>
    <item name="android:colorAccent">@color/colorAccent</item>
    <item name="android:background">@color/cpWhite</item>
    <item name="textColorAlertDialogListItem">@color/colorPrimary</item>
    <item name="android:textColorAlertDialogListItem">@color/colorPrimary</item>
</style>

(请注意,我已将 colorPrimary 和 colorAccent 设置为随主题变化)

这是它给出的输出: ListPreference Dialog appearance

回答我自己的问题: 我忘了添加属性

<item name="android:alertDialogTheme">@style/DialogBoxTheme</item>

到 styles.xml 中的 AppTheme。