appcompat-v7 r21/r22: значок меню переполнения принудительного отображения

Кажется, что люди, использующие устройства с аппаратной кнопкой меню с менее чем Android Kitkat, по-прежнему не получают кнопку меню на экране, даже с новой библиотекой приложений r21/r22.

Я думаю, это определяется внутренним ActionBarPolicy учебный класс:

public boolean showsOverflowMenuButton() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        return true;
    } else {
        return !ViewConfigurationCompat.hasPermanentMenuKey(ViewConfiguration.get(mContext));
    }
}

так что кнопка меню принудительного переполнения есть только на KitKat и выше.

Есть ли способ заставить меню переполнения появляться, даже если приложение работает на устройствах меньше, чем KitKat с аппаратной кнопкой меню?

1 ответ

В библиотеке поддержки appcomt используйте свою собственную панель инструментов (которая была накачана из XML или создана из кода) и замените панель действий по умолчанию (в вашем ActionbarActivity вызов setSupportActionar(toolbar)), вы увидите меню переполнения (если вы установили меню).

тест на эмуляторе Android 2.3.x.

Другие вопросы по тегам