【问题标题】:Change/Customize Preference Screen Alert Dialog更改/自定义首选项屏幕警报对话框
【发布时间】:2020-10-15 14:08:50
【问题描述】:

我用 androidx 偏好库创建了一个偏好屏幕。问题是当我单击 EditTextPreference 时,警报对话框是完全白色的。我想这是因为我在我的应用主题中定义了主要文本颜色和次要文本颜色。那么如何为首选项警报对话框应用自定义主题?这是我点击 EditTextPreference 时对话框现在的样子:

Style.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/layoutBG</item>
    <item name="backgroundColor">@color/layoutMainBG</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColor">@color/textPrimaryLight</item>
    <item name="android:textColorSecondary">@color/textSecondaryLight</item>
</style>

colors.xml

<resources>
    <color name="colorPrimary">#6200EE</color>
    <color name="colorPrimaryDark">#3700B3</color>
    <color name="colorAccent">@color/textBlue</color>
    <color name="textPrimaryLight">#ffffff</color>
    <color name="textSecondaryLight">#D7D7D7</color>
    <color name="charging">#388e3c</color>
    <color name="textBlue">#70b3c6</color>
    <color name="layoutBG">#171717</color>
    <color name="layoutMainBG">#0d0d0d</color>
</resources>

【问题讨论】:

    标签: android android-layout colors android-alertdialog android-preferences


    【解决方案1】:

    我通过在我的 AppTheme 中添加这两行来修复它

            <item name="colorBackgroundFloating">@color/layoutBG</item>
            <item name="android:editTextColor">@color/textPrimaryLight</item>
    

    所以我的新 AppTheme 看起来像这样

        <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
            <!-- Customize your theme here. -->
            <item name="colorPrimary">@color/colorAccent</item>
            <item name="colorPrimaryDark">@color/layoutBG</item>
            <item name="backgroundColor">@color/layoutMainBG</item>
            <item name="colorAccent">@color/colorAccent</item>
            <item name="android:textColor">@color/textPrimaryLight</item>
            <item name="android:textColorSecondary">@color/textSecondaryLight</item>
            <item name="colorBackgroundFloating">@color/layoutBG</item>
            <item name="android:editTextColor">@color/textPrimaryLight</item>
        </style>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多