Can't Find Theme.AppCompat.Light for New Android ActionBar Support
I am trying to implement the new ActionBar support library that was released by Google a couple days ago. In the past, I have successfully implemented ActionBarSherlock without any issues using the same method listed on Google Developer's Support Library Setup page - using the guide on how to include the resources (which is similar to how ActionBarSherlock did it). I have the library project loaded in to my own project as a library as well.
I can tell the library is loading fine. When, instead of extending Activity on my MainActivity.java, I changed it to extend ActionBarActivity (as per Google's instructions), no errors occur - and it imports correctly.
I even tried bypassing the style.xml file and adding @style/Theme.AppCompat.Light
directly in to the AndroidManifest.xml for both <application>
and <activity>
with android:theme="@style/ThemeAppCompat.Light"
with all attempts resulting in the same error.
Now the issue is I cannot get it to change the theme, let alone even build without throwing an error. Below is the error I am receiving, followed by the style.xml file I changed to use the new theme.
I have moderate experience working with Android apps and am running Eclipse with the latest version of the Support Libraries and SDK compiling with API 18 (Android 4.3).
Error Received During Build
error: Error retrieving parent for item: No resource found that matches the given name '@style/Theme.AppCompat.Light'. styles.xml /ActBarTest/res/values line 3 Android AAPT Problem
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
</style>
</resources>
Any suggestions? This was never an issue with ActionBarSherlock. I want to work on using this new support library. It almost seems like the .jar is loading, but not the resources.
You need to do next:
File->Import (android-sdkextrasandroidsupportv7)
. Choose "AppCompat" Project-> properties->Android.
In the section library "Add" and choose "AppCompat" Note: if you are using "android:showAsAction" in menu item, you need to change prefix android as in the example http://developer.android.com/guide/topics/ui/actionbar.html
If, like me, you are following the Android tutorial on http://developer.android.com/training/basics/actionbar/setting-up.html and keep getting this error, try to change the AppBaseTheme
style in all styles.xml
files. In detail:
In file res/values/styles.xml
change the line:
<style name="AppBaseTheme" parent="android:Theme.Light">
to:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
In file res/values-v11/styles.xml
change the line:
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
to:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
In file res/values-v14/styles.xml
change the line:
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
to:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
Now the application should run fine.
I will share my experience with this problem. I was going crazy because of this, but I found out that the problem was a bug with Eclipse itself, rather than my code: In eclipse, unable to reference an android library project in another android project
So, if you have the Android Support Library in your C: drive and your project in the D: drive on your computer, Eclipse won't function correctly and won't know where the Android Support Library is (green tick turns into red cross). To solve this, you need to move both projects onto the same hard drive.
链接地址: http://www.djcxy.com/p/62796.html