操作栏分隔符样式设计

8

foursquare截图

我有两个问题。在详细说明这些问题之前,我想补充一下,我正在使用ActionBarSherlock

第一个问题是,我在我的ActionBar中添加ActionItems之间的分隔符时遇到了问题。在截图中,有3个分隔符,例如第一个分隔符位于返回按钮签到之间。

我使用以下样式自定义了我的ActionBar。但是,名为small_detail_divider的可绘制对象没有显示出来。我还尝试使用setBackgroundSplitDrawable()以编程方式添加此分隔符,但也没有帮助。我应该怎么做才能在这些ActionItem之间添加分隔符呢?

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

另外一个问题是:我想以与在打印屏幕中添加的方式相同添加操作项。当我添加操作项时,它们总是添加到ActionBar右侧。我该如何添加操作项到ActionBar左侧,例如打印屏幕中的返回按钮?有什么建议吗?

我正在这里做类似的事情!!! https://dev59.com/7HjZa4cB1Zd3GeqPeHTt - Etienne Lawlor
1个回答

9
你需要查找的属性是:
<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>

为了给您提供更多信息。

分割ActionBar应该设置为:

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

提供您自定义的拆分操作栏样式。
第三个问题:按顺序添加:
当您以编程方式添加菜单项时,请使用:Menu menu.add (0, R.id.menu_new_ab_item, 0, "Item"); 顺序决定了如何排序您的菜单项。
您可以在您的menu.xml文件中更加具体地设置android:orderInCategory="1..n",它可以是任何整数。我通常从10开始,这样我就可以在标准项目前填充项目。

谢谢您的回复。但是我尝试了您写的包含分隔符的XML,它也没有起作用。这是怎么回事? - BCK
非常抱歉,尝试使用actionBarDivider更新答案,请注意它在主题中而不是样式中。我知道这很不一致。 - Chris.Jenkins
谢谢,我还有一个新问题。请你能看一下吗?http://stackoverflow.com/questions/11460931/actionbarsherlock-tab-navigation-with-viewpager-and-multifragments - BCK
3
为了给出small_detail_divider应该是什么类型的可绘制对象的想法,请查看ActionBarSherlock的res \ drawable- *文件夹中的abs__list_divider_holo_dark.9.png 9Patch PNG,以获得灵感。 - Dr1Ku
@Chris.Jenkins,能否帮我看一下关于actionBar menuItem分隔符的问题? - Roy Lee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接