【发布时间】:2012-02-06 17:50:55
【问题描述】:
根据android文档,android:startColor可以将属性作为值:
这也可能是对资源的引用(形式为 “@[package:]type:name”)或主题属性(形式为 "?[package:][type:]name") 包含此类型的值。
我正在尝试向我的渐变可绘制对象添加一个属性,但出现错误。这是drawable的代码:
这是style.xml中的代码:
<style name="test" parent="android:Theme">
<item name="android:startColor">#0b2749</item>
<item name="startColor">#0b2749</item>
</style>
当我尝试运行活动时,我收到以下错误消息:
01-10 20:47:30.810: E/AndroidRuntime(7279): Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2
我尝试将 ?startColor 更改为 ?attr/startColor ,但仍然出现相同的错误。我还将主题应用于 AndroidManifest.xml 文件中的活动。
如何向渐变可绘制对象添加主题属性?
【问题讨论】:
-
与 android:color 在描边元素上的问题相同。实际上,每次我们尝试从可绘制对象中引用样式属性时,似乎都会发生此异常。这看起来像一个 Android 错误。
-
我找到了一个可能对您有用的解决方法,请参阅我的回答