如何为整个应用程序自定义主题

时间:2013-01-07 09:00:12

标签: android actionbarsherlock

我在整个应用程序中使用了Theme.Sherlock.Light.DarkActionBar。现在,操作栏背景颜色默认为黑色。如何改变这种颜色。基本上如何为整个应用程序自定义主题?

<activity
            android:name="com.mypath.myapp.FirstActivity"
            android:label="@string/app_name"
            android:theme="@style/Theme.Sherlock.Light.DarkActionBar"
            >

4 个答案:

答案 0 :(得分:1)

您可以在android:theme=theme_style标记中使用<application>。现在,如果您希望操作栏与主题提供的操作栏不同,则可以通过为操作栏明确定义<style></style之间的样式来覆盖它。

这是概念。转到res > values > styles.xml。您可以扩展或自定义主题,如下所示:

     <style name="AppBaseTheme" parent="android:Theme.Light">
          <item name="android:background">@color/background_dark</item>
      </style>

<强>更新 或者,如果您想为所有应用程序进行通用(非特定主题)更改,则可以编辑sdk/platforms/android-target/data/res/values/styles.xml

或者,如果您要覆盖所有应用的默认主题,则可以修改sdk/platforms/android-target/data/res/values/themes.xml

更新 - 找到了这个:

ActionBar developer docs。此链接显示“您可以使用在Android 3.0(API级别11)中添加的ActionBar API来控制操作栏的行为和可见性。”所以我假设你的目标至少是API 11。

如果您的目标是API 11及更高版本,则可以执行以下高级自定义样式:

    <resources>
            <style name="CustomActivityTheme" parent="@android:style/Theme.Holo">
                <item name="android:actionBarStyle">@style/MyActionBar</item>
            </style>

            <style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
                <item name="android:background">@drawable/ab_background</item>
                <item name="android:backgroundStacked">@drawable/ab_background</item>
              <item name="android:backgroundSplit">@drawable/ab_split_background</item>
            </style>
    </resources>

在这里,Styling Action Bar background

答案 1 :(得分:0)

您可以在应用标记的清单文件中为整个应用程序定义主题,如下所示:

 <application
    android:name="com.test"
    android:icon="@drawable/appicon"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar" > <---Define your own style here.

答案 2 :(得分:0)

看看http://actionbarsherlock.com/theming.html。你必须创建一个自己的主题风格。

答案 3 :(得分:0)

用于修改默认的android sdk主题您可以在以下位置找到android Sdk themes.xml文件:

\android-sdk\platforms\...\data\res\values\themes.Xml

因此您可以更改整个应用程序主题。