简体   繁体   中英

Trying to use holo theme in Android not working

I've been trying to set a holo theme in Android, but I haven't been able to get it to recognize it. Any ideas?

Posted is my manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15"/>

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" android:theme="@android:style/Theme.Holo">
        <activity
            android:name=".TestActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

It gives me the red line under @android:style/Theme.Holo even if I change the minSdkVersion to 11. Any ideas?

Update:

I changed the line <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15"/> to <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15"/> and I am still getting the same error.

Update 2:

This ended up being that my target api was specified correctly in the manifest, but not in project properties. Weird, but now as is well.

Eclipse is giving you an error because SDK versions 7-10 won't know what Theme.Holo is. You need to provide separate styles for both platforms to ensure that the correct style will be found at runtime.

  1. In your res/values/styles.xml file, create the following style:

     <?xml version="1.0" encoding="utf-8"?> <resources> <style name="Theme.MyTheme" parent="@android:style/Theme.Black" /> </resources> 
  2. In your res/values-v11/styles.xml file, create the following style:

     <?xml version="1.0" encoding="utf-8"?> <resources> <style name="Theme.MyTheme" parent="@android:style/Theme.Holo" /> </resources> 
  3. In your AndroidManifest.xml file, use the following line for your application's theme:

     android:theme="@style/Theme.MyTheme" 

you are trying to use the Holo theme for API Low than Android 4.0 that's why you get the red Line you can:

  1. Use the HoloEverywhere project
  2. Pick the necessary resources for Holo Theme you most want from the ICS source and create your own custom theme/styles https://github.com/android/platform_frameworks_base/tree/master/core/res
  3. You ca also try to make use a custom theme for Android Api 7 to 10 and the holo theme for Api 11 and higher, see @Alex Lockwood's answer.

The Holo theme needs to be updated in all of the style folders. Check under the values folder, values-sw600dp, values-sw720dp-land, values-v11 and values-v14. The theme on values-v14 overrides all other themes on the higher API's.

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