Использование 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"/>