Используя библиотеку поддержки appcompat, Overflow не работает с API 7?

Я использую библиотеку поддержки appcompat v7. Элементы действий прекрасно отображаются в панели действий как на новых, так и на старых устройствах.

Однако я не получаю переполнения в API 7. Например:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:appcompat="http://schemas.android.com/apk/res-auto" >

    <item
        android:id="@+id/menuAction"
        android:icon="@android:drawable/ic_menu_directions"
        android:title="@string/barButtonTitle"
        appcompat:showAsAction="always|withText"/>
    <item
        android:id="@+id/menuAction1"
        android:title="@android:string/untitled"
        appcompat:showAsAction="never"/>

</menu>

appcompat:showAsAction="always|withText" работает, он отображается как элемент действия в панели действий. Однако appcompat:showAsAction="never" не отображается в Overflown, как на более новой платформе. Он скрыт внизу и открывается при нажатии на старую кнопку меню.

Это предполагаемое поведение библиотеки поддержки appcompat? или я что-то упустил, чтобы заставить Overflow работать на старой платформе?


person Sean    schedule 27.09.2013    source источник
comment
Заметил ту же проблему, поэтому нашел ваш вопрос. Вы нашли решение для отображения меню переполнения? Возможно, это действительно так, поскольку на этих устройствах API7 всегда будет кнопка меню.   -  person 3c71    schedule 20.10.2013
comment
никогда не заставляйте переполнение работать с API 7. Хотя для меня это не является препятствием для показа, поскольку элемент все еще можно открыть с помощью старой кнопки меню. все еще интересно, если это просто ошибка, над которой работает Google?   -  person Sean    schedule 21.10.2013


Ответы (2)


Это предполагаемое поведение библиотеки поддержки appcompat?

Да, это


Кнопка переполнения (3 точки) отображается только в том случае, если на устройствах нет аппаратной кнопки меню.

Каждое пряничное устройство должно иметь кнопку меню, поэтому кнопка переполнения не будет отображаться на уровне API 7.

Для получения дополнительной информации по этой теме может быть интересна следующая запись в блоге: http://android-developers.blogspot.de/2012/01/say-goodbye-to-menu-button.html

person larsgrefer    schedule 25.04.2014
comment
Добро пожаловать в StackOverflow и спасибо за ваш ответ. Но вроде неполный. И что? может быть вопрос :-). Спасибо за редактирование / завершение вашего ответа. - person lorenz; 26.04.2014

Насколько я исследовал, переполнение не отображается в более старых версиях, но вы можете использовать в своем манифесте (внутри уровня активности) следующее (для предварительной ICS):

<activity ...>
<meta-data android:name="android.support.UI_OPTIONS"
               android:value="splitActionBarWhenNarrow" />
</activity>

это покажет действия в нижней части экрана, вы должны добавить это во все действия, которые вы хотите иметь такое поведение. Для ICS> вы можете добавить следующее в манифест на уровне приложения, это повлияет на все действия.

<application android:uiOptions="splitActionBarWhenNarrow">
</application>
person Andre Rocha    schedule 01.12.2013