5

我正在构建一个为其活动使用一些主题的应用程序。它们在运行 ICS 之前版本的 Android 的手机上都能正常工作,但由于某种原因,当我在 Galaxy Nexus(运行 4.1)和 Nexus S(运行 4.0.4)上应用主题时,背景总是黑色的。

这是我正在使用但不起作用的主题之一:

<style name="BlueStyle" parent="@android:style/Theme.Holo.NoActionBar">
    <item name="android:background">@color/Blue</item>
    <item name="android:textColor">@android:color/white</item>
    <item name="android:textSize">16dip</item>
</style>

蓝色在我的res/values/colors.xml. 主题在我的清单中res/values-v11/styles.xml并在我的清单中被引用,如下所示:

<activity
        android:name=".activity.SplashActivity"
        android:theme="@style/BlueStyle"
        android:configChanges="orientation|keyboardHidden|screenSize"/>

就像我说的那样,一个类似的主题(在 下res/values@android:style/Theme.NoTitleBar用作父级)在 ICS 之前的 Android 版本上适用于相同的 Activity。即使我进入布局文件并制作布局的背景,@color/Blue如果我将主题分配给 Activity,它仍然是黑色的。但是,我发现,如果我将主题设置为,@android:style/Theme.NoTitleBar那么 Activity 将使用我在布局文件中强制使用的蓝色。

我也尝试将 BlueStyle 设置为整个应用程序的主题,但这没有什么区别。

其他人以前遇到过这个问题吗?这是我第一次尝试同时支持 pre-v11 和 v11+ 主题,所以我可能会犯一些非常明显的错误。

编辑:还忘了提到,当我的活动开始时,我确实看到了蓝色,但随后背景变成了黑色。不确定该信息是否会有所帮助。

编辑#2:我也刚刚在运行 3.2 的 Galaxy Tab 10.1 上进行了测试,它也存在问题。

4

2 回答 2

1

从外观上看,主题活动在 Honeycomb 及更高版本中完全被破坏了。我通过删除特定于活动的主题并将样式添加到我的布局文件来“解决”我的问题。

如果遇到此问题,请确保在将主题应用到布局之前,从 AndroidManifest.xml 中的活动中删除主题。否则,问题将持续存在。

于 2012-07-20T14:12:50.580 回答
-1

在 .xml 中,选择在主题选项下的顶部的主题布局是什么。还选择下拉框并单击打开然后声明和确保 xml 在那里以及在 android amnifest 中是正确的。

我注意到即使我出于某种原因更改了样式,它也会立即接受它们,我必须多次保存它们。

于 2012-07-06T20:52:38.250 回答