Luk*_*kap 4 android themes styles android-theme
在我的attrs
<attr name="bzz" format="color" />
Run Code Online (Sandbox Code Playgroud)
然后在主题
<style name="mytheme" parent="android:Theme">
<item name="bzz">@color/aaa</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在代码中,这很有用
tv.setBackgroundResource(R.color.aaa);
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,它给了我一个错误
tv.setBackgroundResource(R.attr.bzz);
Run Code Online (Sandbox Code Playgroud)
我不明白是什么问题,我的逻辑是我将bzz设置为颜色的参考,以便它应该工作正常,但它不会:)它说android.content.res.Resources$NotFoundException: Resource ID #0x7f010008
但是我不明白什么资源无法找到?
我确信,如果我直接设置颜色是有瑕疵它很有效,那是不正确链接的东西
谢谢
Tia*_*ago 11
您需要解析attr以获取相应color的资源ID.然后,您可以将TextView后台资源设置为获取的资源ID.
示例代码:
TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.bzz, typedValue, true);
tv.setBackgroundResource(typedValue.resourceId);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1825 次 |
| 最近记录: |