12

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

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

谢谢!

4

2 回答 2

22

ActionBarSherlock v3.5 已更新以包含来自 Ice Cream Sandwich 的所有与操作项相关的视图和类的源代码。这意味着在两个操作项之间放置分隔符的规则与在 ICS 上的规则相同。

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

  • 纯文本后跟纯文本
  • 仅图标后跟仅文本
  • 文本和图标,后跟纯文本

如果您想覆盖此行为(仅限 3.0 之前版本),请对以下内容进行更改ActionItemView.java

于 2012-02-14T13:09:20.520 回答
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));
  }
}
于 2013-03-11T11:59:27.543 回答