【发布时间】:2015-04-12 10:57:14
【问题描述】:
在 Android Studio 中,我导入了一个不包含 styles.xml (v21) 的项目。
所以我在values 目录中创建了一个styles-v21.xml 文件。 styles.xml 和 styles-v21.xml 现在都在 values 目录中。
styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="AppTheme.Base">
<!-- Customize your theme here. -->
</style>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light">
</style>
</resources>
styles-v21.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar">
</style>
</resources>
当我构建项目时出现构建错误:
错误:错误:重复资源:C:\xxx\main\res\values\styles-v21.xml:style/AppTheme, C:\xxx\main\res\values\styles.xml:style/AppTheme
错误是两个资源文件具有相同的style 名称:AppTheme。
但在我见过的其他项目和教程中,这些styles 具有相同的名称。一种是兼容21版本的Android,另一种是不兼容的Android。
我想我想知道我是否应该简单地更改名称,或者这些文件是否应该具有相同的名称 - 这意味着手头有一个更大的问题。我应该如何进行?
【问题讨论】:
-
您问题中的某些地方,您指的是
styles-v21文件夹。您问题中的某些地方,您指的是styles-v21或styles-v21.xml文件。你创造了所有这些吗?如果没有,请编辑您的问题以准确解释您在哪里创建了哪些文件。顺便说一句,正确的答案是拥有一个res/values-v21/styles.xml文件。 -
已修复 - 啊,我会这样做,看看它是否有效。
-
你不需要维护不同的styles.xml文件来让你的应用兼容所有的api级别。您可以在单个 styles.xml(default) 文件中执行此操作。签出这个答案stackoverflow.com/a/53445541/5745574
标签: android xml android-studio resources android-styles