如何解决使用 Day Night Resources 中的颜色时,Vector Drawble fillColor 会发生变异
我使用 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 举报,一经查实,本站将立刻删除。