【发布时间】:2013-10-11 17:56:46
【问题描述】:
我有一个默认主题为 Holo.Light 的 Android 应用程序,但我想将其更改为 Theme.Black。我尝试通过将清单 android:theme="@style/AppTheme" 中的样式标签更改为 Theme.Black 来做到这一点,但它找不到。在更改主题时我需要采取额外的步骤吗?
【问题讨论】:
-
你能发布你的 AndroidManifest.xml
我有一个默认主题为 Holo.Light 的 Android 应用程序,但我想将其更改为 Theme.Black。我尝试通过将清单 android:theme="@style/AppTheme" 中的样式标签更改为 Theme.Black 来做到这一点,但它找不到。在更改主题时我需要采取额外的步骤吗?
【问题讨论】:
实际上你应该在res/values/styles.xml 中定义你的样式。我猜现在你已经有了以下配置:
<style name="AppBaseTheme" parent="android:Theme.Holo.Light"/>
<style name="AppTheme" parent="AppBaseTheme"/>
因此,如果您想使用 Theme.Black,请将 AppBaseTheme 父级更改为 android:Theme.Black 或者您可以像这样在清单文件中直接更改应用程序样式 - android:theme="@android:style/Theme.Black" .您必须在 style 标记之前缺少 android 命名空间。
您可以阅读更多关于样式和主题的信息here。
【讨论】:
要将您的应用程序更改为不同的内置主题,只需在应用程序的manifest.xml 文件中的应用程序标记下添加此行。
例子:
<application
android:theme="@android:style/Theme.Holo"/>
<application
android:theme="@android:style/Theme.Holo.Light"/>
<application
android:theme="@android:style/Theme.Black"/>
<application
android:theme="@android:style/Theme.DeviceDefault"/>
如果您将样式设置为 DeviceDefault,则需要最低 SDK 版本 14,但如果您不添加样式,它将设置为设备默认值。
<uses-sdk
android:minSdkVersion="14"/>
【讨论】:
如果你想引用一个android样式,你需要把“android:”放在那里
android:theme="@android:style/Theme.Black"
如果这不能解决问题,您可能需要使用完整的清单文件编辑您的问题,以便我们查看更多详细信息
【讨论】:
或尝试检查您的 mainActivity.xml,确保包含此xmlns:app="http://schemas.android.com/apk/res-auto"here
【讨论】: