2012-12-04 39 views
1

我的问题是Android应用,它使用android:Theme作为默认样式,android:Theme.Holo.Light用于版本11和更新版本的操作系统,以及android:Theme.Holo.Light.DarkActionBar适用于v14和更新版本。全息主题应用回落到默认Android主题

的应用项目使用ADT Eclipse的威泽德创建的,所以AndroidManifest.xmlandroid:theme="@style/AppTheme",并有三个分别styles.xml文件,一个在valuesvalues-v11values-v14文件夹。默认设置styles.xml

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

styles.xmlvalues-v11

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

终于styles.xmlvalues-v14

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

这很好地工作了相当长的一段时间。我使用模拟器和Galaxy SIII上的Holo主题检查了姜饼的外观。

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

Holo主题被应用程序高兴地忽略,我不知道我可以尝试寻找哪些东西来解决问题。

任何帮助或指针非常赞赏。

更新

如果我更换

android:theme="@style/AppTheme" 

AndroidManifest.xml

android:theme="@style/AppBaseTheme" 

一切工作正常(AppBaseThemeAppTheme定制独立于平台的平台相关的父主题)。它看起来好像Android的运行时间是懒惰的,并不在意寻找最具体的版本AppBaseTheme,但总是采取找到的那个values/styles.xml

回答

1

最后,经过几次不成功的清理,将AppTheme重命名为MyTheme(并相应地更新AndroidManafest.xml中的参考)。现在,该应用为每个Android版本都引用了正确的AppBaseTheme。