问题描述
我使用 Theme.AppCompat.DayNight.NoActionBar
作为应用主题,并使用 values-night
限定符为白天和夜晚主题定义颜色资源
values/colors.xml
<color name="icon_color">#282C3C/color>
values-night/colors.xml
<color name="icon_color">#FFFFFF/color>
我使用了来自主题值的颜色资源的矢量可绘制
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="9dp" android:height="6dp" android:viewportWidth="9" android:viewportHeight="6">
<path
android:pathData="M1.398 0.383l2.958 3.09c0.079 0.081 0.207 0.082 0.285 0l2.992-3.087C7.948 0.06 8.46 0.063 8.773 0.394c0.304 0.323 0.303 0.84-0.004 1.16L4.784 5.74c-0.157 0.165-0.415 0.165-0.573 0L0.233 1.577c-0.315-0.329-0.31-0.86 0.01-1.183l0.023-0.022C0.582 0.054 1.088 0.06 1.398 0.383z"
android:fillColor="@color/icon_color" />
</vector>
我使用 app:srcCompat="@drawable/wp_ic_camera"
设置了这个 drawable,没有任何背景或色调值,它在数据绑定中使用 AppCompatResources.getDrawable(view.context,drawableRes)
来设置 drawable
用户可以在应用偏好中选择应用主题为亮/暗或系统模式我使用更新主题
val nightMode = when (theme) {
AppTheme.DARK -> AppCompatDelegate.MODE_NIGHT_YES
AppTheme.LIGHT -> AppCompatDelegate.MODE_NIGHT_NO
AppTheme.SYstem -> AppCompatDelegate.MODE_NIGHT_FOLLOW_SYstem
}
AppCompatDelegate.setDefaultNightMode(nightMode)
我还使用用户选择的最新主题更新了 ContextThemewrapper
问题是当设备主题为深色且应用主题设置为浅色时,它遵循可绘制颜色的系统主题
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)