尝试扩展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.+'}
答案 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不同:
打开应用程序的build.gradle文件。
包含appcompat项目并将编译“com.android.support:appcompat-v7:18.0.+”添加到依赖项部分,如以下示例所示:
依赖{ ... 编译“com.android.support:appcompat-v7:18.0.+” }
我的注意事项:在styles.xml中,删除对Android的引用,如下所示:
style name =“AppTheme”parent =“Theme.AppCompat.Light”
答案 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)
在文件菜单中使缓存无效/重新启动总是为我完成工作