Android 为一个主题提取不同OS版本的绘图?

Android 为一个主题提取不同OS版本的绘图?,android,Android,我的目标是api 14及以上版本。在/values/styles.xml中,我有以下内容: <style name="AppTheme" parent="AppBaseTheme"> <item name="android:windowBackground">@drawable/foo</item> </style> @可提取的/foo 但是对于API16和更高版本,我想为windowBackground使用不同的drawable “

我的目标是api 14及以上版本。在/values/styles.xml中,我有以下内容:

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

@可提取的/foo
但是对于API16和更高版本,我想为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>
///values/styles.xml
@我的定义
@可抽出式/foo1
///values-v14/styles.xml
@可抽出式/foo2
这样我就可以只在一个地方定义AppTheme了


谢谢

您可以为
v-16
v-14
创建一个
drawable文件夹
,因此当设备为api 16/14时,它将抓取该文件夹并将您的
drawable
用于
样式
xml

drawable-xhdpi-v16

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


看看这个。这不是重复你的问题,但似乎给出了正确的答案

好的,但是我不需要一个文件夹来存放所有的密度吗?它会起作用,但希望安卓能提供一个更优雅的平台solution@user3203425不,除了声明接受指定API级别的文件夹之外,没有其他解决方案