Можно ли принудительно использовать дополнительное меню справа от кнопки программного обеспечения?

У меня есть панель действий с множеством опций и меню. На устройствах, на которых нет кнопки меню, дополнительное меню добавляется на мою панель действий.

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

кнопка переполнения меню справа от программных кнопок

Возможно ли это, и если возможно, то как это сделать?


person Sébastien BATEZAT    schedule 10.04.2013    source источник


Ответы (2)


Является ли это возможным

Да, если вы не возражаете против того, чтобы ваше приложение выглядело так, будто вы его больше не поддерживаете, тем самым уменьшая свою потенциальную базу пользователей.

Прочтите Попрощайтесь с кнопкой меню, особенно этот пассаж:

Однако эта кнопка не обеспечивает идеального взаимодействия с пользователем. Фактически, в приложениях, которые так или иначе не используют меню опций, эта кнопка переполнения ничего не делает и создает путаницу для пользователя. Поэтому вам следует обновить свои устаревшие приложения, чтобы удалить переполнение действий с панели навигации при работе на Android 3.0+ и при необходимости начать использовать панель действий. Вы можете сделать это, сохраняя обратную совместимость с устройствами, которые в настоящее время поддерживают ваши приложения.

Поэтому талантливые разработчики стараются избегать размещения этой возможности в системе/панели навигации, а не добавлять эту возможность.

как это сделать?

Установите android:targetSdkVersion и android:minSdkVersion на значение меньше 11.

person CommonsWare    schedule 10.04.2013
comment
Я ошибаюсь или это уже невозможно? Я делаю, как вы говорите, но значок меню не появляется на моем планшете (у которого нет аппаратной кнопки меню) - person ernestocattaneo; 06.02.2015
comment
@ernestocattaneo: Насколько я знаю, кнопка меню позора все еще должна быть доступна для обратной совместимости. - person CommonsWare; 06.02.2015
comment
похоже, что это больше не работает. бар"> stackoverflow.com/questions/28367271/ - person ernestocattaneo; 06.02.2015
comment
@ernestocattaneo: Ваш minSdkVersion равен 16. 16 больше, чем 11. Ваши targetSdkVersion и ваши minSdkVersion должны быть меньше 11, как вы можете видеть в последнем абзаце моего ответа. - person CommonsWare; 06.02.2015
comment
спасибо понятно. Но... как мне быть? ха-ха, я имею в виду... если на планшете с моим приложением нет кнопки меню... он не сможет открыть меню... какого черта... - person ernestocattaneo; 06.02.2015
comment
@ernestocattaneo: как поступить? -- чтобы изменить 16 на 11, я бы использовал клавишу BACKSPACE и клавишу 1. если на планшете с моим приложением нет кнопки меню... он не сможет открыть меню - если на устройстве есть экранная панель навигации, к ней будет добавлена ​​кнопка меню стыда. Я не пробовал использовать это на устройстве, у которого нет экранной панели навигации. - person CommonsWare; 06.02.2015
comment
Давайте продолжим обсуждение в чате. - person ernestocattaneo; 06.02.2015

Эта кнопка автоматически добавляется Android, если ваши minSdkVersion и targetSdkVersion меньше, чем API 11. Единственным исключением является то, что если вы установите minSdkVersion на 10 или ниже, установите targetSdkVersion на 11, 12 или 13, и вы не используете ActionBar, система добавит устаревшую кнопку переполнения при запуске вашего приложения на телефоне с Android 4.0 или выше.

Если ваши targetSdkVersion и/или minimumSdkVersion соответствуют API 11 или выше, вы не можете использовать эту кнопку.

person Raghav Sood    schedule 10.04.2013
comment
Мне было бы больше интересно, как это происходит, какие изменения делает система, чтобы добавить меню переполнения. В том конкретном случае, когда для моего minSdkVersion установлено значение 10 или ниже, а для targetSdkVersion установлено значение 11, 12 или 13. - person Ali Ashraf; 29.05.2016