如何将应用默认主题更改为不同的应用主题?
Posted
技术标签:
【中文标题】如何将应用默认主题更改为不同的应用主题?【英文标题】:How to change app default theme to a different app theme? 【发布时间】:2013-10-11 17:56:46 【问题描述】:我有一个默认主题为 Holo.Light 的 android 应用程序,但我想将其更改为 Theme.Black。我尝试通过将清单 android:theme="@style/AppTheme"
中的样式标签更改为 Theme.Black 来做到这一点,但它找不到。在更改主题时我需要采取额外的步骤吗?
【问题讨论】:
你能发布你的 AndroidManifest.xml 【参考方案1】:实际上你应该在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。
【讨论】:
【参考方案2】:要将您的应用程序更改为不同的内置主题,只需在应用程序的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"/>
【讨论】:
【参考方案3】:如果你想引用一个android样式,你需要把“android:”放在那里
android:theme="@android:style/Theme.Black"
如果这不能解决问题,您可能需要使用完整的清单文件编辑您的问题,以便我们查看更多详细信息
【讨论】:
【参考方案4】:或尝试检查您的 mainActivity.xml,确保包含此xmlns:app="http://schemas.android.com/apk/res-auto"here
【讨论】:
这与问题无关 这不是一个可访问的网址以上是关于如何将应用默认主题更改为不同的应用主题?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Android 中更改 SettingsActivity 的主题?
在 Xamarin.Forms 中将默认的深色 Android 主题更改为白色?
Jetpack Compose:如何以编程方式将主题从浅色模式更改为深色模式 onClick