14

我一直在尝试在 Android 中设置一个全息主题,但我无法让它识别它。有任何想法吗?

发布的是我的清单:

<?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>

@android:style/Theme.Holo即使我将 minSdkVersion 更改为 11 ,它也会给我下面的红线。有什么想法吗?

更新:

我将行更改<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15"/><uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15"/>,但仍然遇到相同的错误。

更新 2:

这最终是在清单中正确指定了我的目标 api,但在项目属性中没有正确指定。很奇怪,但现在也一样。

4

3 回答 3

13

Eclipse 给你一个错误,因为 SDK 版本 7-10 不知道是什么Theme.Holo。您需要为两个平台提供单独的样式,以确保在运行时找到正确的样式。

  1. 在您的res/values/styles.xml文件中,创建以下样式:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="Theme.MyTheme" parent="@android:style/Theme.Black" />
    </resources>
    
  2. 在您的res/values-v11/styles.xml文件中,创建以下样式:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <style name="Theme.MyTheme" parent="@android:style/Theme.Holo" />
    </resources>       
    
  3. 在您的AndroidManifest.xml文件中,使用以下行作为应用程序的主题:

    android:theme="@style/Theme.MyTheme"
    
于 2012-06-21T01:40:26.590 回答
5

您正在尝试使用低于 Android 4.0 的 API 的 Holo 主题,这就是您获得红线的原因:

  1. 使用HoloEverywhere项目
  2. 从 ICS 源中为您最想要的 Holo 主题选择必要的资源,并创建您自己的自定义主题/样式 https://github.com/android/platform_frameworks_base/tree/master/core/res
  3. 您还可以尝试使用 Android Api 7 到 10 的自定义主题和 Api 11 及更高版本的全息主题,请参阅@Alex Lockwood 的回答。
于 2012-06-21T01:33:17.867 回答
0

Holo 主题需要在所有样式文件夹中更新。检查 values 文件夹下的 values-sw600dp、values-sw720dp-land、values-v11 和 values-v14。values-v14 上的主题覆盖了更高 API 上的所有其他主题。

于 2013-04-26T16:37:36.423 回答