【发布时间】:2012-07-07 07:13:42
【问题描述】:
我正在构建一个应用程序,它的活动使用了一些主题。它们在运行 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 上进行了测试,它也存在问题。
【问题讨论】:
标签: android android-layout styles themes android-4.0-ice-cream-sandwich