我正在构建一个为其活动使用一些主题的应用程序。它们在运行 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 上进行了测试,它也存在问题。