0

我必须自定义我的整个应用程序主题,并且我正在尝试实现我的自定义主题。

我能够实现自定义主题,但是当我在清单文件中应用它时显示错误。

这是我的客户主题代码:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@style/Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <!-- ActionBar styles -->
    <style name="MyActionBar"
           parent="@style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:background">@drawable/actionbar_background</item>
    </style>
</resources>
4

3 回答 3

0
<style name="CustomTheme" parent="android:Theme">
    <item name="android:windowTitleSize">35dip</item>
    <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
    <item name="android:windowNoTitle">false</item>
    <item name="android:windowBackground">@color/transparent</item>
</style>

<style name="CustomWindowTitleBackground">
    <item name="android:background">@drawable/button_black</item>
</style>

将此代码放在 style.xml 中,只需更改 AndroidManifest.xml 中应用程序标签的主题属性,例如

<application android:icon="@drawable/ic_launcher"
     android:theme="@style/CustomTheme">

.

而已。

于 2013-11-12T10:05:33.127 回答
0

您应该提供有关您遇到的错误的更多详细信息。乍一看,我可以看到您正在使用 Theme.Holo.Light.DarkActionBar,我相信它仅适用于 Android 4.x,因此如果您针对的是早期版本的 Android,您可能会收到错误消息。

尝试将 style.xml 文件添加到以下每个文件夹:

res/values
res/values-v11
res/values-v14

将第一个文件夹的 style.xml 文件中引用的主题替换为 Theme.Light。使用 Theme.Holo.Light for v11 并将 Theme.Holo.Light.DarkActionBar 留在 v14 下的 style.xml 文件中。

另请记住,您不能在 Honeycomb (v11) 之前的版本下设置操作栏的样式。查看ActionBar 的文档以获取更多详细信息,尤其是与 AppCompat 库相关的信息。

我希望这会有所帮助。否则,请提供有关您遇到的错误的更多信息。

于 2013-11-12T06:31:53.473 回答
0

改成

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@android:style/Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <!-- ActionBar styles -->
    <style name="MyActionBar"
           parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:background">@drawable/actionbar_background</item>
    </style>
</resources>

在清单中应用主题为

 android:theme="@style/CustomActionBarTheme" >

清单中的 min sdk 应为 14。如果您希望支持低于 api 级别 11 的操作栏,请使用支持库中的 appcompact。

还要检查这个

http://developer.android.com/guide/topics/ui/actionbar.html

https://developer.android.com/training/basics/actionbar/styling.html

于 2013-11-12T06:21:10.163 回答