Отсутствует запись переполнения ActionBar для телефона ICS с использованием Compat Lib - PullRequest
0 голосов
/ 06 февраля 2012

Использование compat lib r6. Тестирование на Galaxy Nexus (ICS).

Иметь: android:minSdkVersion="13" android:targetSdkVersion="14" в декларации

Пункты меню определены как:

<item android:id="@+id/menu_search"
    android:showAsAction="ifRoom"
    android:actionViewClass="android.widget.SearchView" />
<item android:id="@+id/menu_refresh"
    android:title="@string/refresh_menu"
    android:icon="@drawable/ic_menu_refresh"
    android:showAsAction="ifRoom"/>

В портретном режиме панель действий имеет элемент управления поиском, но НЕТ пункта меню панели действий переполнения.

В пейзаже на панели действий есть и элемент управления поиском, и пункт меню панели действий переполнения (я не получаю значок, который разочаровывает, поскольку для этого достаточно места).

На планшете Honeycomb / ICS все работает отлично, получите мой элемент управления поиском и иконку.

Что-то не так или это похоже на ошибку в compat lib? Заранее спасибо. Питер.

Редактировать 1 - Дополнительная информация и возможное решение Я забыл добавить, что в onCreateOptionsMenu я де-иконизировал элемент управления поиском. Если я не де-иконизирую, я получаю меню «Обновить». Так что теперь это имеет смысл, хотя я все еще ожидал бы увидеть запись действия переполнения, учитывая, что я не могу свернуть элемент управления поиском (так как нет кнопки закрытия) из пользовательского интерфейса.

Редактировать 2 ОК, я могу заставить это работать, если я заставлю элемент обновления всегда быть на панели действий и переупорядочу:

<item android:id="@+id/menu_search"
    android:showAsAction="always"
    android:orderInCategory="1"
    android:actionViewClass="android.widget.SearchView" />
<item android:id="@+id/menu_refresh"
    android:title="@string/refresh_menu"
    android:icon="@drawable/ic_menu_refresh"
    android:orderInCategory="0"
    android:showAsAction="always"/>

1 Ответ

0 голосов
/ 07 февраля 2012

В меню переполнения есть только текст, поэтому вы должны добавить соответствующий флаг:

android:showAsAction="ifRoom|withText"
...