Кажется, что люди, использующие устройства с аппаратной кнопкой меню с меньшим количеством Android Kitkat, по-прежнему не получают кнопку меню на экране, даже с новым апплетом r21/r22 библиотека.appcompat-v7 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, с кнопкой меню оборудования?
Генеральный консенсус в том, что вы должны просто дать ОС определить, нужно ли это показывать, и что это плохая практика, чтобы заставить меню переполнения, если устройство имеет кнопку меню аппаратного обеспечения. Однако в этом посте есть ответ: http://stackoverflow.com/a/15493649/4409409 Я не тестировал его, поэтому не уверен, работает ли он. –