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

时间:2014-06-30 06:38:07

标签: android android-studio android-appcompat

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

  

错误:(31,28)找不到与给定名称匹配的资源(at   “主题”的价值为'@android:style / Theme.AppCompat.Light')。

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

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

5 个答案:

答案 0 :(得分:22)

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

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

供参考,Google for Android Developers的官方文档在Android设备上添加ActionBar 2.1+指示使用:android:theme="@style/Theme.AppCompat.Light" https://developer.android.com/training/basics/actionbar/setting-up.html

答案 1 :(得分:4)

来自Android Studio,与Eclipse不同:

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

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

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

  3. 我的注意事项:在styles.xml中,删除对Android的引用,如下所示:

    style name =“AppTheme”parent =“Theme.AppCompat.Light”

  4. For more details, read link

答案 2 :(得分:0)

使用Theme.AppCompat.Light而不是AppCompat.Theme.Light

答案 3 :(得分:0)

正在发生的事情是负责该样式的依赖项未被识别。

如果有它们,只需将它们从build.gradle中删除:

'com.android.support:appcompat-v7:28.0.0'
'com.android.support:design:28.0.0'

然后同步,然后撤消删除,然后再次同步。

答案 4 :(得分:0)

在文件菜单中使缓存无效/重新启动总是为我完成工作