风格和主题的背景问题

时间:2011-10-06 13:50:10

标签: android themes styles android-theme

在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一样说 但我不明白找不到什么资源?

我确信如果我直接设置颜色就会有颜色,它的效果很好,没有正确连接的东西是显而易见的

谢谢

1 个答案:

答案 0 :(得分:11)

您需要解析attr以获取相应的color的资源ID。然后,您可以将TextView的后台资源设置为获取的资源ID。

示例代码:

TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.bzz, typedValue, true);
tv.setBackgroundResource(typedValue.resourceId);