【问题标题】:No resource found that matches the given name: attr 'colorPrimaryDark'找不到与给定名称匹配的资源:attr 'colorPrimaryDark'
【发布时间】:2017-10-13 17:31:10
【问题描述】:

~/myApp/app/build/intermediates/res/merged/debug/values/values.xml:102: 错误:错误:找不到与给定名称匹配的资源:attr 'colorAccent'。

对于colorPrimarycolorPrimaryDark。 这是一个准系统项目,针对 21+ 版本。

后人请看我的values/:

values/styles.xml

<resources>
        <style name="AppTheme" parent="android:Theme.Material">
                <item name="colorPrimary">@color/primary</item>
                <item name="colorPrimaryDark">@color/primary_dark</item>
                <item name="colorAccent">@color/accent</item>
        </style>
</resources>

values/colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
        <color name="primary">#3F51B5</color>
        <color name="primary_dark">#303F9F</color>
        <color name="accent">#FF4081</color>
</resources>

build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.dcousens.myapplication"
        minSdkVersion 21
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }

    .. snip
}

这个名字下有很多问题,但他们的解决方案正在将compileSdkVersion 提高到至少 21 个。 这已经完成了,错误仍然存​​在。

【问题讨论】:

    标签: java android android-layout gradle


    【解决方案1】:

    如果您使用的是android:Theme.Material,而不是建议的Theme.AppCompat,则必须在每个项目上使用android: 前缀。

    <style name="AppTheme" parent="android:Theme.Material">
      <item name="android:colorPrimary">@color/primary</item>
      <item name="android:colorPrimaryDark">@color/primary_dark</item>
      <item name="android:colorAccent">@color/accent</item>
    </style>
    

    建议对所有 API 级别使用 AppCompatActivityTheme.AppCompat,因为自 API 21 以来情况一直在发生变化,并且 AppCompat 继续添加修复,直至 API 24。

    【讨论】:

      猜你喜欢
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多