创建样式-v21.xml

use*_*977 34 xml resources android android-studio android-styles

在Android Studio中,我导入了一个不包含的项目styles.xml (v21).所以我styles-v21.xmlvalues目录中创建了一个文件.双方styles.xmlstyles-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>
Run Code Online (Sandbox Code Playgroud)

款式 - v21.xml

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

    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

当我构建项目时,我得到一个构建错误:

错误:错误:资源重复:C:\ xxx\main\res\values\styles-v21.xml:style/AppTheme,C:\ xxx\main\res\values\styles.xml:style/AppTheme

错误是两个资源文件具有相同的style名称:AppTheme.但在我看过的其他项目和教程中,这些styles都有相同的名称.一个用于Android,兼容版本21,另一个用于Android,没有兼容性.

我想我想知道我是否应该简单地更改名称或者这些文件是否应该具有相同的名称 - 这意味着手头有更大的问题.我该怎么办?

小智 124

右键单击res文件夹,选择New - > Android resource file,为新文件"styles"设置相同的名称,在Available qualifiers中:选择最后一项" Version ",最后设置" Platform API level "21.


Yuc*_*ong 6

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

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

这就是Android Studio中的内容:

在此输入图像描述

然后,您可以AppTheme为不同的API级别定义不同的.