簡體   English   中英

找不到資源 - Theme.AppCompat.Light.DarkActionBar

[英]No resource found - Theme.AppCompat.Light.DarkActionBar

我使用了 ActionBar 樣式生成器,現在嘗試在我的應用程序中使用,但得到:

錯誤:檢索項目的父項時出錯:找不到與給定名稱“@style/Theme.AppCompat.Light.DarkActionBar”匹配的資源。

我在 libs 文件夾中使用android-support-v7-appcompat.jar lib

我的目標是讓我的應用兼容 2.3 或更高版本

AppCompat是一個庫項目。 您需要在您的 android 項目中引用庫項目。

檢查主題添加帶有資源的庫

更新

添加材料主題應該是方法。 查看https://material.io/develop/android/docs/getting-started了解更多詳情。

如果您使用的是Eclipse ,則按照以下步驟將reference library添加到您的項目中:

  1. Project Explorer視圖中右鍵單擊您的項目。
  2. 單擊Properties
  3. 在“ Properties窗口中單擊Android
  4. Library組中,單擊Add...
    • 見下圖。
  5. 選擇庫。 單擊“ OK
  6. 在“屬性”窗口中再次單擊“ OK按鈕。

項目屬性窗口中的“添加”按鈕,Android 部分,庫組。

如果您使用的是Android Studio,則只需添加依賴項

dependencies {
     implementation 'com.android.support:appcompat-v7:25.0.1'
}

app/build.gradle 這會起作用

對於任何使用 VS2015 的人,我也遇到了這個錯誤,結果我沒有將庫添加到項目中......

Install-Package Xamarin.Android.Support.v7.AppCompat

如果您正在使用 Eclipse,如果您打算使用資源,則僅將 android-support-v7-appcompat.jar 復制到 libs 文件夾將不起作用。

按照此處的“ 添加帶有資源的庫”的步驟操作。

一個簡單的解決方案 - 將此文件(/res/values/styles.xml)的內容替換為文本:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>

就我而言,我將一個android項目從一台計算機帶到另一台計算機並遇到了這個問題。 對我有用的是我看到的一些答案的組合:

  • 刪除工作區的 libs 文件夾中的 appcompat 庫的副本
  • 安裝 SDK 21
  • 更改項目屬性以使用該 sdk 構建在此處輸入圖片說明
  • 設置並啟動與 sdks 21 兼容的模擬器
  • 更新運行配置以提示設備運行並選擇運行

經過這些步驟,我的運行良好。

dependencies {

    compile 'com.android.support:appcompat-v7:23.0.0'

}

這對我有用......在Android Studio中......

使用 Visual Studio 2015 (Windows7) + Xamarin 出現此錯誤,在嘗試多種操作(安裝軟件包、下載 android_m2repository_r10.zip...)后,最終刪除了內部的完整Xamarin 文件夾

C:\\Users\\<my user>\\AppData\\Local

之后,在 VS 中重建應用程序,錯誤消失了。

確保您的 sdk 中有一個 v7 目錄,我認為擁有“Android 支持庫”(在 Extras 中)就足夠了。 原來我錯過了“支持庫的本地 Maven 存儲庫 (extras;android;m2repository)” Studio 發現它實際上並修復了 gradle 依賴項。 使用 gradle 構建然后工作。 $ cat app/build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "pat.example.com.gdbdemo"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.2.1'
}
dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
}

compile 已經被 implementation 取代了,不知道為什么。

如果您使用 Android.mk 進行構建,請使用 USE_AAPT2,該鏈接位於來自 AAR 的構建資源中。

在 Android.mk 文件中添加以下行:

LOCAL_USE_AAPT2 := 真

  1. 在管理器中更新您的 SDK,並確保在 extra 中包含Android support library
  2. 轉到文件資源管理器(Mac 上的 Finder)中的 SDK,找到額外的文件夾(Windows 上的..\\sdk\\extras\\android\\support\\v7\\appcompat\\res\\values )。 某處有一個themes.xmlthemes_base.xml 復制這兩個文件。
  3. 在您的項目中,將文件粘貼到“values”目錄中

如果您使用的是Visual Studio for MAC ,請單擊“項目”>“恢復 Nutget 包”修復該問題

在 Eclipse 中:按照添加支持庫中的說明將支持庫作為項目庫導入時,不要忘記選中“將項目復制到工作區”選項

我有同樣的問題。 這里列出的解決方案都沒有幫助我的情況。 事實證明,我將項目的父文件夾導入 Android Studio 1.5,而不是項目文件夾本身。 這讓Gradel 頭暈目眩。 解決方案是導入項目文件夾。

在 xamarin 中,如果您在添加任何新 sdk 時遇到此問題。 簡單的解決方案是打開您的樣式文件並添加這一行。

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

這是更好的解決方案,而不是添加 appcompat。

暫無
暫無

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

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