Android操作栏sherlok没有显示分隔符

时间:2012-02-14 09:13:34

标签: android actionbarsherlock

我正在使用sherlock-action栏并尝试在操作按钮之间应用分隔符。 我有风格,但分隔线不可见,为什么?

<style name="Theme.SherlockCustom" parent="@style/Theme.Sherlock.Light">
    <item name="abBackground">@drawable/actionbar_gradient</item>
    <item name="abIcon">@drawable/logo</item>       
    <item name="abDivider">@drawable/ab_divider</item>
</style>

谢谢!

2 个答案:

答案 0 :(得分:22)

ActionBarSherlock v3.5已更新为包含所有与行动项目相关的视图和课程的Ice Cream Sandwich来源。这意味着在两个操作项之间放置分隔符的规则遵循与ICS相同的规则。

分隔符只会显示在以下内容之间:

  • 纯文字后跟纯文字
  • 仅限图标后跟纯文字
  • 文字和图标后跟纯文字

如果要覆盖此行为(仅限3.0之前的版本),请对ActionItemView.java进行以下更改:

答案 1 :(得分:9)

您可以做的是在操作栏项旁边添加一个看起来像分隔符的视图(适用于所有Android版本)

<item
    android:actionViewClass="com.example.ActionSeparatorView"
    android:showAsAction="always"
    android:title="@null"/>

和ActionSeparatorView是ImageView的简单扩展,带有您想要显示为分隔符的drawable

public class ActionSeparatorView extends ImageView {
public ActionSeparatorView (Context context) {
    super(context);
    setImageDrawable(getResources().getDrawable(R.drawable.separator));
  }
}