我的问题是一个 Android 应用程序,它android:Theme
用作默认样式,android:Theme.Holo.Light
适用于版本 11 及更高版本以及android:Theme.Holo.Light.DarkActionBar
v14 及更高版本的操作系统。
该应用程序项目是使用 ADT Eclipse-wizzard 创建的,因此AndroidManifest.xml
设置了android:theme="@style/AppTheme"
、 和 三个styles.xml
文件,分别位于values
、values-v11
和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 主题检查了姜饼的外观。
但是现在,三星手机也只会使用经典的android:Theme,不管我在style.xml
s中设置什么。我还尝试将minSdkVersion
in提高AndroidManifest.xml
到 16 并将 Holo-theme 设置为 default styles.xml
。清理和重建也没有效果。
应用程序很高兴地忽略了 Holo 主题,我不知道还有什么地方可以尝试解决问题。
非常感谢任何帮助或指示。
更新
如果我更换
android:theme="@style/AppTheme"
在AndroidManifest.xml
与
android:theme="@style/AppBaseTheme"
一切正常(AppBaseTheme
是自定义平台无关的平台相关父主题AppTheme
)。不知何故,它看起来好像 Android 运行时是懒惰的,并且不关心寻找最具体的版本AppBaseTheme
,但总是采用在values/styles.xml