我创建了一个自定义小部件,我在layout.xml中声明它.我还在attr.xml中添加了一些自定义属性.但是,当尝试在styles.xml中的样式中声明这些属性时,它正在给我No resource found that matches the given name: attr 'custom:attribute'.
我已将xmlns:custom="http://schemas.android.com/apk/res/com.my.package"
styles.xml中的所有标记放入,包括<?xml>
,<resources>
和<style>
,但它仍然给我相同的错误,它无法找到我的自定义XML命名空间.
但是,我可以使用我的命名空间手动为layout.xml中的视图分配属性,因此命名空间没有任何问题.我的问题在于使styles.xml知道我的attr.xml.
我有一个应用程序,我需要实现日/夜主题.不幸的是,通过使用样式没有简单的方法来制作主题,我需要能够更新:布局背景,按钮选择器,文本颜色,文本大小,图像,图标,动画.
从我看到我有2个选项:
有不同的xml布局文件为night/day,所以像home_day.xml
/ home_night.xml
.应用程序中有大约30个屏幕,因此最终将有60 xml布局.关于活动/片段onCreate,基于当前小时我可以setContentView
.这会添加更多xml文件,但可以避免在活动中添加更多代码
只有一个日/夜布局和活动的onCreate
findviewById我想要主题的每个项目,并根据当前日/夜更新他的属性.这可能会为许多视图生成大量额外代码,查找视图和应用属性.
我的目标是2.但我愿意接受你的任何建议.那么,你会选择什么?为什么?