如何将应用默认主题更改为不同的应用主题?

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

Telerik winforms 主题颜色自定义

如何隔离受污染的合并主题分支上的提交,以便将它们应用于不同的分支?

如何在 Flutter 中通过更改主题来更改文本颜色