关于设置主题的重要知识是,默认情况下,当您创建项目时,会在 Values 下创建 3 个文件夹:values
、values-v11
和values-v14
。
默认情况下,第一件事是打开文件夹styles.xml
下的。values
那就是我们出错的地方。请看,因为值文件有3 个文件夹,Android 系统将尝试加载在适合当前系统设置的文件夹中定义的样式。也就是说,如果您在 Nexus Running API 级别 17 上运行应用程序,加载的样式将来自values-v14
而不是来自values
.
因此,您必须编辑每个styles.xml
文件夹下的每个文件,以确保无论 API 级别如何都能正确加载主题。
你styles.xml
的 forvalues-v14
应该是这样的:
<resources>
<!--
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
<!-- API 14 theme customizations can go here. -->
</style>
</resources>
我希望这有帮助。