不上这方面的专家发现可绘制但似乎你需要基于主题的平台版本。 official guide解释了这个过程我认为很好。
您必须为每个版本创建不同的XML文件,并将它们保存在res/values-v7
,res/values-v11
等等中,然后使用这些样式表达您的意见。事情是这样的:
在res/values-v7
:
<style name="LightThemeSelector" parent="android:Theme.Light">
...
</style>
在res/values-v11
:
<style name="LightThemeSelector" parent="android:Theme.Holo.Light">
<item name="selectableItemBackground">?android:attr/selectableItemBackground</item>
...
</style>
然后使用样式的观点:
<TextView
style="@style/LightThemeSelector"
android:text="@string/hello" />
希望这有助于。 干杯。
1)您如何知道该属性支持v7,而不是v4? (我现在正在下载支持库的rev19)2)你有没有使用用户定义属性的URI的例子? –
@SomeoneSomewhere从我所知道的,v4没有定义任何属性。我知道'selectableItemBackground'是在v7中通过查看[android.support.v7.appcompat.R.attr]来定义的(http://developer.android.com/reference/android/support/v7/appcompat/R.attr的.html)。关于你的第二个问题,你问的是用户定义的属性是如何工作的? – Vikram
我实际上已经忘记了当我提出问题2时我在做什么。我相信下面的链接回答了这个问题,尤其是评论:http://stackoverflow.com/a/11388952/550471 –