我正在编写一个Android应用程序,针对API级别8到14.我想要使用API级别11和更高的Theme.Holo.Light主题,以及API级别较低的Theme.Light主题。根据SDK API级别使用不同的资源文件(使用Eclipse)?
RES /值/ style.xml的含量为:
<resources>
<style name="AppTheme" parent="android:Theme.Light" />
</resources>
和RE的含量/值-V11/style.xml是:
<resources>
<style name="AppTheme" parent="android:Theme.Holo.Light" />
</resources>
这种用于API编译以及级别14,但是当我将目标API级别设置为8时,它会给出以下错误:“检索项目的父项时发生错误:未找到与名称匹配的资源'在res/values-中的android:Theme.Holo'” v11/style.xml和“Android AAPT问题”。
如果我删除文件res/values-v11/style.xml,该应用程序将针对API级别8目标正确编译。
现在,我的理解是,编译API级别8时,构建系统应忽略名称以“-v11”结尾的资源文件夹内的任何内容。
我在做什么错?
让我看看我是否正确理解你:我应该编译为API 14,并且相同的编译代码(只提供API 8支持的API调用)将在API 8到API 14之间运行? – cjcela
是的。假设你的代码在没有事先检查API设备的情况下没有使用API14方法,它将在minSdkVersion之后的任何API上运行得很好。这使得您可以为许多API使用一个二进制文件,并且资源选择器可以让您分离资产或区分某些元素,就像您不需要为每个API版本构建单独的二进制文件一样 –
这正是我所需要的。谢谢! – cjcela