簡體   English   中英

Android Studio錯誤:找不到資源

[英]Android Studio error: No resource found

我在控制台中收到以下消息:

錯誤:(15,22)找不到與給定名稱匹配的資源:attr'colorAccent'。 錯誤:(13,22)

找不到與給定名稱匹配的資源:attr'colorPrimary'。 錯誤:(14,22)

找不到與給定名稱匹配的資源:attr'colorPrimaryDark'。

這是我的style.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="AppBaseTheme" parent="android:Theme.Holo">

        <item name="colorPrimary">@color/color_primary</item>
        <item name="colorPrimaryDark">@color/color_secondary</item>
        <item name="colorAccent">@color/color_accent</item>
    </style>
</resources>

我的color.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="cyan">#6441a5</color>
    <color name="color_primary">#6441a5</color>
    <color name="color_secondary">#6441a5</color>
    <color name="color_accent">#6441a5</color>

</resources>

在搜索並查看許多其他解決方案之后,大多數答案都說要將目標SDK更改為21:這是我的清單文件:

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="21" />

我的構建等級:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    compileOptions.encoding = 'utf-8'

    defaultConfig {
        applicationId "com.test.test"
        minSdkVersion 15
        targetSdkVersion 21
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:support-v4:21.0.0'
}

但這仍然沒有奏效。 這可能是什么問題?

如果您使用的是colorPrimarycolorPrimaryDarkcolorAccent屬性而沒有android:名稱空間,則表示您正在使用支持庫

我會檢查您是否在依賴項中添加了v7支持庫 ,並確保您的應用程序主題具有其中一個Theme.AppCompat樣式的父Theme.AppCompat

這也意味着您需要compile 'com.android.support:appcompat-v7:21.+'添加到Gradle依賴項中,並且您的Activity文件必須extend AppCompatActivity


你的相關文件應該是這樣的(我在你的答案中使用了參考/屬性名稱)

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    ... >

    ...

    <application
        ...
        android:theme="@style/AppBaseTheme" >

    ...

styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppBaseTheme" parent="Theme.AppCompat">
        <item name="colorPrimary">@color/color_primary</item>
        <item name="colorPrimaryDark">@color/color_secondary</item>
        <item name="colorAccent">@color/color_accent</item>
    </style>

    ...

colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <color name="color_primary">#6441a5</color>
    <color name="color_secondary">#6441a5</color>
    <color name="color_accent">#6441a5</color>

    ...

YourActivity.java

....

public class DetailActivity extends AppCompatActivity {

....

}

build.gradle

...

dependencies {
    ...
    compile 'com.android.support:appcompat-v7:21.+'
    ...
}

確保您已包含我上面列出的行。

當然,在這里我已經把...表明您可能已經把其他的代碼存在,所以不要隨便把...到你的代碼。


另請注意,如果您使用的是Gradle,則清單中的版本/ API聲明無關緊要。 因此,您應該能夠刪除它而不會發生任何錯誤:

<uses-sdk
    android:minSdkVersion="15"
    android:targetSdkVersion="21" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM