ActionBarSherlockのアクションバーの背景色を変更するには

アプリに統一感を持たせる方法の一つとしてアプリに使われている色の統一があります。

例えばテキストが白色ならそれに合わせてアイコンなども白色にすると思います。

なのでアクションバーもアプリ全体に馴染むように背景色を変えるとアプリ全体の印象が結構変わります。

ここではActionBarSherlockを使ったアプリでアクションバーの背景色を変える方法を簡単に紹介します。

スタイルの適用

まず、アクションバーに適用する色を定義します。

colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="actionbar_bg_color">#00C0FF</color>
</resources>

そしてアクションバーの背景色を変えるにはstyles.xmlを次のように編集すればOKです。

<resources>

    <style name="AppBaseTheme" parent="Theme.Sherlock">
        <item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
        <item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
    </style>

    <style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
        <item name="android:background">@color/actionbar_bg_color</item>
        <item name="background">@color/actionbar_bg_color</item>
    </style>
   
</resources>

もしvalues-v11やvalues-v14などにstyles.xmlがある場合はそこも同じように編集してください。

これで背景色が変わるはずです。

変更する際の注意点

アクションバーの背景色を変更するにはこれだけでいいのですが、少し注意する箇所があります。

それは次のようなことです。

  1. カスタムビューの背景色も変わる
  2. ボタンやスピナーなどの背景色も変わる

1つめはsetCustomViewなどでアクションバーにレイアウトを設定している場合、背景色を変更すれば自動的にカスタムビューの背景色が変更されます。

なのでカスタムビューのレイアウト上でわざわざ背景色を変える必要はないということです。

2つめも同じでカスタムビューに設置したボタンやスピナーなどのビューには自動的にスタイルが適用されるので、独自にスタイルを変更する必要もありません。

なのでアクションバーを変更すればそこにある全てのビューに変更が適用されるという事です。


以上、ActionBarSherlockの背景色を変える方法を紹介しました。では、また。

関連項目
プライバシーポリシー