Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ActionBar Divider Styling

foursquare printscreen

I have two questions. Before detailing these questions, I want to add I'm using ActionBarSherlock.

The first question would be that I am having issues with adding a divider between ActionItems in my ActionBar. In the printscreen, there are 3 dividers, for instance the first one is between the back button and Check In.

I customized my ActionBar using the style below. However, the drawable called small_detail_divider does not show up. I also tried adding this divider programmatically, using the setBackgroundSplitDrawable(). That did not help either. What should I do to add divider between those ActionItems?

<style name="Theme.Example" parent="Theme.Sherlock">
    <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
    <item name="absForceOverflow">true</item>       
</style>

<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.ActionBar.Solid">
    <item name="background">@drawable/top_panel_background</item>
    <item name="icon">@drawable/application_logo</item>
    <item name="backgroundSplit">@drawable/small_detail_divider</item>

    <item name="android:background">@drawable/top_panel_background</item>
    <item name="android:icon">@drawable/application_logo</item>
    <item name="android:backgroundSplit">@drawable/small_detail_divider</item>
</style>

Another question would be: I want to add action items in the same manner as they are added within the printscreen. When I add the action items, they are always added to the right of the ActionBar. How can I add an action item to the left of the ActionBar such as the Back Button in the printscreen? Any suggestion would help.

like image 287
BCK Avatar asked Jul 12 '12 09:07

BCK


1 Answers

the attribute you are looking for is:

<style name="Theme.Example" parent="Theme.Sherlock">
    <item name="actionBarDivider">@drawable/small_detail_divider</item>
    ....
    <item name="android:actionBarDivider">@drawable/small_detail_divider</item>
    ...
</style>

Just to give you some more info.

The split ActionBar should be set with:

<style name="Theme.Example" parent="Theme.Sherlock">
    <item name="actionBarSplitStyle">@style/Widget.Styled.ActionBarSplit</item>
    <item name="android:actionBarSplitStyle">@style/Widget.Styled.ActionBarSplit</item>
    ...

Then provide your custom style for the split action bar..

Thrid question: Adding in order:

When you add the menu item pragmatically use: Menu

menu.add (0, R.id.menu_new_ab_item, 0, "Item");

The order determines how you order your menu items.

You can be more specific in your menu.xml files android:orderInCategory="1..n" can be any int. I normally start at 10 or so, so I can inflate items in-front of the standard items.

like image 173
Chris.Jenkins Avatar answered Oct 20 '22 07:10

Chris.Jenkins