ICS中似乎被忽视的主题



我正在构建一个应用程序,它在活动中使用了一些主题。它们在运行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中的相同"活动"。即使我进入布局文件并使布局的背景为@color/Blue,如果为"活动"分配了主题,它仍然是黑色的。但是,我发现,如果我将主题设置为@android:style/Theme.NoTitleBar,那么"活动"将使用我在布局文件中强制使用的蓝色。

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

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

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

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

从事物的外观来看,主题化活动在Honeycomb及以上版本中是完全失败的。我通过删除特定于"活动"的主题并将样式添加到布局文件中来"解决"我的问题。

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

在.xml中,顶部的主题是什么,选择在主题下选项。还要选择下拉框并单击打开,然后解密并确保xml就在那里以及android amnifest中。

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

相关内容

  • 没有找到相关文章

最新更新