全息主题应用程序回退到默认的Android主题

时间:2012-12-04 14:24:10

标签: android themes android-theme

我的问题是一个Android应用,它使用android:Theme作为默认样式,android:Theme.Holo.Light用于版本11及更高版本的操作系统,android:Theme.Holo.Light.DarkActionBar用于v14及更新版本。

app项目是使用ADT Eclipse-wizzard创建的,因此AndroidManifest.xml设置android:theme="@style/AppTheme",并且有styles.xml个文件,values中有values-v11个{分别为{1}}和values-v14个文件夹。默认styles.xml设置

<style name="AppBaseTheme" parent="android:Theme">

styles.xml中的values-v11

<style name="AppBaseTheme" parent="android:Theme.Holo.Light">

,最后styles.xml设置了values-v14

<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">

这很好用了很长一段时间。我已经使用模拟器和Galaxy SIII上的Holo-theme检查了姜饼的外观。

但是现在,三星手机也只会使用经典的android:Theme,无论我在style.xml中设置什么。我还尝试将minSdkVersion中的AndroidManifest.xml提升为16,并将Holo主题设置为默认styles.xml。清理和重建也没有效果。

应用程序很高兴地忽略了Holo主题,我不知道在哪里可以尝试解决问题。

非常感谢任何帮助或指示。

更新

如果我更换

android:theme="@style/AppTheme"
<{1>}中的

AndroidManifest.xml

一切正常(android:theme="@style/AppBaseTheme" 是与自定义平台无关的AppBaseTheme)的平台相关父主题。它看起来好像Android运行时是懒惰的,并不关心查找AppTheme的最具体版本,但始终采用AppBaseTheme中找到的那个

1 个答案:

答案 0 :(得分:1)

最后,在几次不成功的清理之后,我采用了不同的方法并尝试将AppTheme重命名为MyTheme(并相应更新AndroidManafest.xml中的引用)。现在,该应用程序为每个Android版本引用了正确的AppBaseTheme。