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>
结果如下:
如您所见,打开是正确的节目,但是关闭是未正确显示
现在我将主题更改为此:
<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>
现在是这里的结果:
,现在两个状态(开/关)都显示正确。
问题是: 为什么主题 MaterialDrawerTheme.ActionBar 不能正确显示组件“ android.support.v7.preference.SwitchPreferenceCompat ”的显示状态?