Android-панель действий Шерлок не показывает разделитель - PullRequest
12 голосов
/ 14 февраля 2012

Я использую 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>

Спасибо!

Ответы [ 2 ]

22 голосов
/ 14 февраля 2012

ActionBarSherlock v3.5 был обновлен и теперь включает источники из Ice Cream Sandwich для всех представлений и классов, связанных с действием. Это означает, что правила размещения разделителя между двумя элементами действия следуют тем же правилам, что и в ICS.

Разделитель будет показан только между следующими значениями:

  • Только для текста и только для текста
  • Только для значков и только для текста
  • Текст и значок, за которым следует только текст

Если вы хотите переопределить это поведение (только на pre-3.0), внесите следующие изменения в ActionItemView.java:

9 голосов
/ 11 марта 2013

Что вы можете сделать, это добавить представление рядом с элементом панели действий, которое будет выглядеть как разделитель (работает на всех версиях Android)

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

, а ActionSeparatorView - это простое расширение ImageView счертеж, который вы хотите показать в качестве разделителя

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