如何解决使用自定义颜色属性时出现“加载小部件问题”
我们在 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 举报,一经查实,本站将立刻删除。