如何更改操作栏背景颜色

时间:2014-09-24 07:45:59

标签: android android-actionbar

如何在android

中以编程方式更改操作栏背景颜色中的颜色

使用setBackgroundDrawable这个属性。

4 个答案:

答案 0 :(得分:2)

有两种方法。


方法1 -

在res / values / styles.xml中,您可以像这样定义它 -

适用于Android 3.0及更高版本

<style name="CustomActionBarTheme"
       parent="@android:style/Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar"
       parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">ANY IMAGE OR HEX COLOR</item>
</style>

适用于Android 2.1及更高版本

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

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

android:theme="@style/CustomActionBarTheme"

方法2 -

要以编程方式进行更改,请尝试此操作 -

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable("HEX COLORS"));

文档 - Styling the Action Bar

答案 1 :(得分:1)

您已经在问题中提到了方法

将其用作:

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("##CC66FF")));

希望这有帮助。

答案 2 :(得分:0)

       ActionBar ab = getActionBar(); 
       ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#81a3d0"));     
       ab.setBackgroundDrawable(colorDrawable);

have look this also

答案 3 :(得分:0)

您可以使用ColorDrawable

 ColorDrawable colorDrawable = new ColorDrawable();
 colorDrawable.setColor(yourColor);