Есть ли стандартный способ добавления разделителей между элементами панели действий в Android 3.0?
У меня есть небольшая проблема, пытаясь настроить внешний вид панели действий в моем приложении. Я хочу иметь широкие разделители пикселей для группировки элементов панели действий, которые вы видите во многих родных приложениях (например, 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 - любые другие попадают в меню переполнения.
Итак, я думаю, что я спрашиваю, есть ли стандартный способ добавления разделителей элементов без использования элемента меню с пользовательским представлением и таким образом, который не учитывается в лимитах для элементов панели действий
Спасибо заранее!
Ответы
Ответ 1
Я бы не стал пытаться использовать разделители в местах, которые система не добавляет их автоматически, так как это сделает ваше приложение несовместимым с платформой. По умолчанию:
- Разделитель между переполнением и другими.
- Разделите текст и другой элемент, где он будет рассортировать элемент, к которому принадлежит текст.
Ответ 2
Я не мог найти стандартный способ, но так, как я это делал, это использовать свойство android:actionLayout
для элемента меню, и я помещаю туда разделитель.
Ответ 3
Когда 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>
Возможно, это не будет работать с значками
Или думая об этом, возможно, размер значка имеет эффект?