android - MaterialDrawerTheme.ActionBar - android.support.v7.preference.SwitchPreferenceCompat 的显示状态不正确
问题描述
安卓工作室 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 ”的状态?
解决方案
推荐阅读
- c++ - 如何获取模板类的命名空间?
- c - 如何检查子进程是否更改了 WinAPI 中的特定文件
- python - Django:基于另一个模型排除对象
- python - 在kali linux中更改python的默认版本
- css - 如何解决 wordpress 中的图像截断问题?
- javascript - 当视频元素全屏时,自定义控件会被阻止为全屏视频
- python - 在 Python 中使用导入模块编写自己的函数的最佳实践?
- playframework - 在 Play 2.6 上使用 stb-native-packager 和 Debian 和 SystemV
- java - 在表单中间显示 JInternalFrame 数据
- python - 如何禁用 PytestDeprecationWarning:直接构建 Flake8Item 已被弃用,请使用 Flake8Item.from_parent