简体   繁体   中英

Theme.AppCompat.Light resource not found in Android Studio

When trying to extend ActionBarActivity I need to use the AppCompat theme (Theme.AppCompat.Light). When I try to add it in the manifest and styles.xml I get

Error:(31, 28) No resource found that matches the given name (at 'theme' with value '@android:style/Theme.AppCompat.Light').

Eventhough I have downloaded the support libraries and included this in my build.gradle file ->

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

In Android Studio, I had this same error when using android:theme='@android:style/Theme.AppCompat.Light but when I use android:theme="@style/Theme.AppCompat.Light" inside the AndroidManifest.xml file, the error is gone.

The difference appears to be from referring to an Android system wide provided theme "@android", to a locally defined theme "@style". Using the locally defined theme works due to having defined the gradle dependency on the appcompat library compile 'com.android.support:appcompat-v7:19.0.+' , which is imported as a local theme.

For reference, the official documentation from Google for Android Developers around adding the ActionBar on Android devices 2.1+ instructs to use: android:theme="@style/Theme.AppCompat.Light" https://developer.android.com/training/basics/actionbar/setting-up.html

From Android Studio, different than Eclipse:

  1. Open the build.gradle file for your application.

  2. Include the appcompat project and add compile "com.android.support:appcompat-v7:18.0.+" to the dependencies section, as shown in the following example:

    dependencies { ... compile "com.android.support:appcompat-v7:18.0.+" }

  3. My note: In styles.xml, remove the reference to Android as in:

    style name="AppTheme" parent="Theme.AppCompat.Light"

For more details, read link

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

What is happening is that the dependency responsible for that style is not being recognized.

just delete these from build.gradle if you have them:

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

then sync, then undo delete, then sync again.

无效的文件菜单中的缓存/重启始终为我完成工作

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM