在 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
但我不明白什么资源找不到?
我确信颜色是有罪的,如果我直接设置它,效果很好,到底是什么没有正确链接
Thanks
您需要解决attr
即可得到对应的color
的资源 ID。然后你可以设置TextView
的后台资源到获取的资源id。
示例代码:
TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.bzz, typedValue, true);
tv.setBackgroundResource(typedValue.resourceId);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)