问题描述
我们在 2021 年开发了主屏幕小部件,我尝试实现深色主题支持。
根据https://developer.android.com/guide/topics/ui/look-and-feel/darktheme#widgets
据我所知,我可以使用自定义属性,并在 values 文件夹中添加了 attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="customBackgroundColor" format="color" />
</resources>
values/themes.xml
<resources>
<style name="AppTheme" parent="Theme.MaterialComponents.Light">
<item name="customBackgroundColor">@color/white</item>
</style>
</resources>
也适用于黑暗
values-night/themes.xml
<resources>
<style name="AppTheme" parent="Theme.MaterialComponents">
<item name="customBackgroundColor">@color/black</item>
</style>
</resources>
这是我的小部件布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?attr/customBackgroundColor" />
当我在主屏幕上放置小部件时,我收到“加载小部件时出现问题”消息。
当我尝试对布局的颜色进行硬编码时,一切都按预期工作。
我也尝试使用默认属性“colorPrimary”,但没有错误消息,但小部件没有根据我切换的主题改变颜色。
我是否遗漏了某些内容或官方文档中的信息不正确?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)