Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Change ActionBarSherlock background color

I'm trying to implement ActionBarSherlock because I was told it is relatively easy to implement and customize. I've found it was pretty easy to implement, but I'm trying to change the background color of the ActionBar and it's proving difficult.

According to the the site (link), it seems you can inherit one of the ActionBarSherlock's themes and then override the properties you need.

This is what I have so far:

<?xml version="1.0" encoding="UTF-8"?> <resources>     <style name="Theme.ActionBar" parent="Theme.Sherlock.ForceOverflow">       <item name="android:background">#000000</item>       <item name="background">#000000</item>     </style> </resources> 

I'm noticing the built-in theme are using images for the background, but I'm praying I don't have to create images to change the background color.

Thanks.

like image 622
Kris B Avatar asked Apr 08 '12 16:04

Kris B


1 Answers

The action bar background color is defined in a style for the action bar, not in the theme itself. You'll need to do something like this:

<style name="Theme.MyTheme" parent="Theme.Sherlock.ForceOverflow">     <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">#ff000000</item>     <item name="background">#ff000000</item> </style> 

Be careful using colors defined in XML. ColorDrawable did not respect it's view bounds on pre-Honeycomb so if you use tab navigation with a separate background for the stacked tab view you will have problems.

like image 200
Jake Wharton Avatar answered Sep 20 '22 08:09

Jake Wharton