MaterialDrawerTheme.ActionBar-android.support.v7.preference.SwitchPreferenceCompat的显示状态不正确

时间:2020-06-12 20:52:41

标签: android

Android Studio 4

 defaultConfig {
        minSdkVersion 17
        targetSdkVersion 28

在我的xml中

<android.support.v7.preference.SwitchPreferenceCompat
            android:defaultValue="true"
            android:icon="@drawable/ic_fingerprint"
            android:key="fingerprint"
            android:layout="@layout/preference_layout"
            android:persistent="true"

如果我设置了这个主题:

 <style name="AppTheme" parent="MaterialDrawerTheme.ActionBar">

<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">#3a9a20</item>
<item name="android:textColor">@color/primary_text</item>
<item name="android:textColorSecondary">@color/secondary_text</item>
<item name="preferenceTheme">@style/PreferenceTheme</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowAnimationStyle">@style/AppAnimationStyle</item>
<item name="android:windowBackground">@color/background</item>
<item name="actionModeStyle">@style/ActionMode</item>
<item name="windowActionModeOverlay">true</item>
<item name="actionModeCloseDrawable">@drawable/ic_close</item>

结果如下:

enter image description here

如您所见,打开是正确的节目,但是关闭是未正确显示

现在我将主题更改为此:

 <style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">#3a9a20</item>
    <item name="android:textColor">@color/primary_text</item>
    <item name="android:textColorSecondary">@color/secondary_text</item>
    <item name="preferenceTheme">@style/PreferenceTheme</item>
    <item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
    <item name="android:windowAnimationStyle">@style/AppAnimationStyle</item>
    <item name="android:windowBackground">@color/background</item>
    <item name="actionModeStyle">@style/ActionMode</item>
    <item name="windowActionModeOverlay">true</item>
    <item name="actionModeCloseDrawable">@drawable/ic_close</item>

现在是这里的结果:

enter image description here

,现在两个状态(开/关)都显示正确。

问题是: 为什么主题 MaterialDrawerTheme.ActionBar 不能正确显示组件“ android.support.v7.preference.SwitchPreferenceCompat ”的显示状态?

0 个答案:

没有答案