背景问题与风格和主题
问题描述:
在ATTRS我背景问题与风格和主题
<attr name="bzz" format="color" />
在主题
然后
<style name="mytheme" parent="android:Theme">
<item name="bzz">@color/aaa</item>
</style>
,并在代码 这个伟大工程
tv.setBackgroundResource(R.color.aaa);
,但是当我这样做它给我一个错误
tv.setBackgroundResource(R.attr.bzz);
我不明白这是什么问题,我的逻辑是,我设置了BZZ作为参考颜色,这样应该可以正常工作,但它不会:) 它说,像android.content.res.Resources$NotFoundException: Resource ID #0x7f010008
,但我不明白的资源找不到?
我相信,颜色有没有罪,如果我把它直接它的伟大工程,是什么exacly是无法正确链接
感谢
答
您需要解决attr
得到的东西对应的color
的资源ID。然后,您可以将TextView
的后台资源设置为获取的资源ID。
示例代码:
TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.bzz, typedValue, true);
tv.setBackgroundResource(typedValue.resourceId);
+0
不适用于API 21 – Sunny
也有类似的问题。从逻辑上讲,它是健全的。不知道为什么它不起作用。 – HGPB