Android操作栏sherlok不显示分隔符

TOM*_*MKA 12 android actionbarsherlock

我正在使用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>
Run Code Online (Sandbox Code Playgroud)

谢谢!

Jak*_*ton 22

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

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

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

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

  • 自`ActionBarSherlock v4.1.0`以来,需要修改的源代码在`com/actionbarsherlock/internal/view/menu/ActionMenuItemView.java`中,搜索`needsDividerBefore`并应用建议的补丁/修复 (7认同)

小智 9

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

<item
    android:actionViewClass="com.example.ActionSeparatorView"
    android:showAsAction="always"
    android:title="@null"/>
Run Code Online (Sandbox Code Playgroud)

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

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