如何自定义Action Bar Style?

时间:2014-08-05 13:09:35

标签: android android-actionbar

如何更改操作栏后退按钮和操作栏菜单图标(附加图像)的颜色。 我有以下样式代码(下面),使用它我自定义文本,但我无法完全自定义操作栏。

以下是我使用的样式代码:

<style name="MyCustomTheme" parent="Theme.Sherlock.Light">

     <item name="actionBarStyle">@style/ActionBar</item>

     <item name="android:actionBarStyle">@style/ActionBar</item>

     </style>

 <style name="ActionBar" parent="Widget.Sherlock.ActionBar">
        <item name="background">@drawable/bg_header</item> -----------(1)
        <item name="android:background">@drawable/bg_header</item>

        <item name="android:titleTextStyle">@style/customTextAppearance.Sherlock.Widget.ActionBar.Title</item> ----(2)
        <item name="titleTextStyle">@style/customTextAppearance.Sherlock.Widget.ActionBar.Title</item>
         <item name="android:homeAsUpIndicator">@style/customTextAppearance.Sherlock.Widget.ActionBar.Title</item>
    </style>


 <style name="customTextAppearance.Sherlock.Widget.ActionBar.Title" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
        <item name="android:textSize">18dp</item>
        <item name="android:textColor">#ffffff</item>
        <item name="android:shadowColor">#ffffff</item>
        <item name="android:shadowDy">3</item>
        <item name="android:textStyle">bold</item>

</style>

非常感谢您的帮助,谢谢。 Screen Shot

2 个答案:

答案 0 :(得分:5)

在Android帮助https://developer.android.com/training/basics/actionbar/styling.html

上查看此页面

仅支持Android 3.0及更高版本时

您可以像这样定义操作栏的背景:res / values / themes.xml

<?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>

然后将您的主题应用于整个应用或个人活动:

<application android:theme="@style/CustomActionBarTheme" ... />

适用于Android 2.1及更高版本

使用支持库时,与上面相同的主题必须如下所示:

RES /值/的themes.xml

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

        <!-- Support library compatibility -->
        <item name="actionBarStyle">@style/MyActionBar</item>
    </style>

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

        <!-- Support library compatibility -->
        <item name="background">@drawable/actionbar_background</item>
    </style>
</resources>

然后将您的主题应用于整个应用或个人活动:

<application android:theme="@style/CustomActionBarTheme" ... />

答案 1 :(得分:4)

只需找到适合您的操作栏的图标并自定义它... 然后在你的...中进行更改。

您可以关注更改操作栏的图标

<强> style.xml

<style name="Widget.ActionButton.Overflow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
    <item name="android:src">@drawable/ic_action_overflow</item>
</style>

<style name="Your.Theme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
    <item name="android:actionOverflowButtonStyle">@style/Widget.ActionButton.Overflow</item>

    <item name="android:homeAsUpIndicator">@drawable/my_fancy_up_indicator</item>
</style>