在Android Studio中找不到Theme.AppCompat.Light资源

use*_*131 13 android android-appcompat android-studio

在尝试扩展ActionBarActivity时,我需要使用AppCompat主题(Theme.AppCompat.Light).当我尝试在manifest和styles.xml中添加它时,我得到了

错误:(31,28)找不到与给定名称匹配的资源(在'theme'处,值为'@ android:style/Theme.AppCompat.Light').

虽然我已经下载了支持库并将其包含在我的build.gradle文件中 - >

dependencies {
compile 'com.android.support:appcompat-v7:19.0.+'
compile 'com.android.support:support-v4:19.0.+'}
Run Code Online (Sandbox Code Playgroud)

use*_*110 22

在Android Studio中,我在使用android:theme='@android:style/Theme.AppCompat.Light时遇到了同样的错误,但是当我android:theme="@style/Theme.AppCompat.Light"在AndroidManifest.xml文件中使用时,错误消失了.

差异似乎是指从Android系统提供的主题"@android"到本地定义的主题"@style".使用本地定义的主题是因为已经定义了appcompat库的gradle依赖性,appcompat库compile 'com.android.support:appcompat-v7:19.0.+'作为本地主题导入.

作为参考,从谷歌的官方文档Android开发周围添加动作条上的Android设备2.1+指示使用: android:theme="@style/Theme.AppCompat.Light" https://developer.android.com/training/basics/actionbar/setting-up.html


The*_*oid 5

来自 Android Studio,不同于 Eclipse:

  1. 打开应用程序的 build.gradle 文件。

  2. 包含 appcompat 项目并将 compile "com.android.support:appcompat-v7:18.0.+" 添加到依赖项部分,如下例所示:

    依赖{ ...编译“com.android.support:appcompat-v7:18.0.+”}

  3. 我的笔记:在styles.xml中,删除对Android的引用,如下所示:

    样式名称="AppTheme" parent="Theme.AppCompat.Light"

欲了解更多详情,请阅读链接