摘要为主题的不同操作系统版本绘制了一个drawable?

时间:2014-06-16 22:36:22

标签: android

我的目标是api 14及以上。在/values/styles.xml中,我有这个:

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:windowBackground">@drawable/foo</item>
</style>

但对于api 16及以上版本,我想为windowBackground使用不同的drawable。

“AppTheme”条目现在设置了很多属性,我不想在v16文件夹中复制AppTheme。有没有办法抽象出windowBackground属性,如:

//  /values/styles.xml
<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:windowBackground">@myDefinition</item>
</style>

<drawable id="myDefinition">@drawable/foo1</drawable>

//  /values-v14/styles.xml
<drawable id="myDefinition">@drawable/foo2</drawable>

这样我可以只在一个地方保留AppTheme?

由于

2 个答案:

答案 0 :(得分:0)

您可以为drawable folderv-16创建v-14,因此当设备为api 16/14时,它会获取该文件夹并使用drawable到{ {1}} xml。

Style

答案 1 :(得分:0)

使用drawable-v14/似乎是更好的解决方案。

查看此其他StackOverflow question。这不是你的问题的重复,但似乎给出了正确的答案。