2015-02-11 122 views
25

在Android Studio中,我导入了一个不包含styles.xml (v21)的项目。 所以我在values目录下创建了一个styles-v21.xml文件。 styles.xmlstyles-v21.xml现在位于values目录中。创建样式-v21.xml

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> 

风格,v21.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar"> 

    </style> 

</resources> 

当我生成项目,我得到生成错误:

Error:Error: Duplicate resources: C:\xxx\main\res\values\styles-v21.xml:style/AppTheme, C:\xxx\main\res\values\styles.xml:style/AppTheme

的错误是,这两个资源文件具有相同的名称:。 但在我见过的其他项目和教程中,这些styles具有相同的名称。一个是针对Android的版本21兼容性,另一个针对没有兼容性的Android。

我想我想知道是否应该简单地更改名称,或者这些文件应该具有相同的名称 - 这意味着手头上存在更大的问题。我应该如何继续?

+8

在你的问题中的一些地方,你指的是'styles-v21'文件夹。在你的问题中的一些地方,你指的是'styles-v21'或'styles-v21.xml'文件。你创造了所有这些吗?如果没有,请编辑您的问题**准确**解释您创建的文件在哪里。顺便说一句,正确的答案是有一个'res/values-v21/styles.xml'文件。 – CommonsWare 2015-02-11 21:45:06

+0

*修正* - 我会这样做,看看它是否有效。 – user2456977 2015-02-11 21:51:58

+0

谢谢!这工作完美 – user2456977 2015-02-11 22:07:45

回答

84

右键单击资源文件夹,选择 - > Android的资源文件,为新文件“样式”设置相同的名字,在可用预选赛:选择最后一项“版本”,最后设置“平台API级别” 21

+0

did not知道这可以做非常多 – 2015-12-06 18:14:40

+0

谢谢,它的工作完美 – Shudy 2016-06-13 11:48:47

-1

修正styles-v21.xml。

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="AppTheme" parent=""AppTheme.Base""> 

    </style> 

</resources> 
2

你应该在价值观V21夹版本21和Android工作室创建styles.xml自动添加为styles.xml(V21)

5

默认情况下,Android Studio不会创建styles.xml(v21)。你需要做的是创建一个文件夹结构如下所示:

  • RES /价值/ styles.xml
  • RES /值-V21/styles.xml

而这就是你将获得Android Studio中:

enter image description here

然后你就可以定义为不同的API级别不同AppTheme

0

您必须使用values-v21标题创建值文件夹。并在其中创建style.xml文件,其名称与values.xml文件名相同。现在重建你的项目。