Существует ли стандартный способ добавления разделителей между элементами панели действий в Android 3.0? - PullRequest
13 голосов
/ 06 мая 2011

У меня небольшая проблема с попыткой настроить внешний вид панели действий в моем приложении.Я хочу иметь возможность делить пиксельные разделители для группировки элементов панели действий, которые вы видите во многих нативных приложениях (например, Gmail, Календарь).Я нашел способ сделать это, добавив пункт меню и установив атрибут 'android: actionLayout' в пользовательский макет для разделителя:

<View
  android:background="@color/LightGray"
  android:layout_marginTop="5dip"
  android:layout_marginBottom="5dip"
  android:layout_width="1dip"
  android:layout_height="fill_parent" />

Это работает хорошо, но проблема в том, что он считаетсяпункт меню и панель действий, по-видимому, ограничивают количество пунктов меню до 4 - все остальные попадают в переполненное меню.

Так что я думаю, что я спрашиваю, есть ли стандартный способ добавить элементразделители без необходимости использовать пункт меню с настраиваемым представлением и таким образом, который не учитывает ограничение для элементов панели действий?

Заранее спасибо!

Ответы [ 3 ]

11 голосов
/ 11 августа 2011

Я бы не стал пытаться принудительно разделить разделители, чтобы система не добавляла их автоматически, поскольку это сделает ваше приложение несовместимым с платформой.Поведение по умолчанию:

  • Разделитель между переполнением и другими.
  • Разделитель между текстом и другим элементом, где он будет однозначно определять, к какому элементу относится текст.
3 голосов
/ 09 августа 2011

Я не мог найти стандартный способ, но я использовал свойство android:actionLayout для пункта меню, и я поместил разделитель туда.

2 голосов
/ 16 июня 2011

Когда Google выпустил 3.0 SDK, у меня появилось быстрое демонстрационное приложение, чтобы посмотреть, как работает ActionBar, и просто оглянуться на него. Если я использую Текстовые элементы без рисованных значков, тогда я получаю автоматические разделители.Мой файл menu.xml выглядит так:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
  <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
  <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
  <item android:id="@+id/menu_text" android:showAsAction="ifRoom" android:title="@string/action_label_text" />
</menu>

Может быть, это не будет работать с иконками ??

Или, если подумать, может быть, размер значка имеет эффект?

...