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

20

我有一个Android应用程序,它的默认主题是Holo.Light,但我想将其更改为Theme.Black。我尝试通过在清单文件中更改样式标记android:theme="@style/AppTheme"为Theme.Black来实现,但是它找不到该主题。更改主题还需要额外的步骤吗?


你能发布你的AndroidManifest.xml吗? - f2prateek
4个回答

29

实际上,你应该在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 命名空间。

你可以在这里阅读更多关于样式和主题的信息。


6

要将您的应用更改为不同的内置主题,只需在您的应用的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"/>

1
如果您希望引用 Android 样式,则需要在其中加入 "android:"。
android:theme="@android:style/Theme.Black"

如果这样做不能解决问题,你可能需要编辑你的问题并附上完整的清单文件,这样我们可以看到更多细节。

-6

或者尝试检查您的mainActivity.xml文件,确保其中包含了
xmlns:app="http://schemas.android.com/apk/res-auto"这一行


这与问题无关。 - EdgarK
这不是一个可访问的URL。 - user8389458

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接