Найти в Дзене
Ирина Кострова

Вкусы меню

Android рассматривает меню приложений и контекстные меню как меню опций и контекстное меню соответственно. Меню опций вызывается нажатием аппаратной кнопки Меню на устройстве, а контекстное меню вызывается нажатием и удержанием на виджете, вызывающем меню.
Кроме того, меню опций работает в одном из двух режимов: значок и развернутое. Когда пользователь впервые нажимает кнопку Меню, появляется режим значка, в котором первые шесть вариантов меню отображаются в виде больших, удобных для пальцев кнопок в сетке в нижней части экрана. Если в меню более шести вариантов, шестая кнопка станет. Больше - нажатие на эту опцию вызовет расширенный режим, показывающий остальные варианты, не видимые в обычном меню. Меню можно прокручивать, поэтому пользователь может перейти к любому из вариантов меню.
Меню опций
Вместо того чтобы создавать меню опций вашей активности во время onCreate(), как вы подключаете остальной пользовательский интерфейс, вам нужно реализовать onCreateOptionsMenu(). Этот обр


Android рассматривает меню приложений и контекстные меню как меню опций и контекстное меню соответственно. Меню опций вызывается нажатием аппаратной кнопки Меню на устройстве, а контекстное меню вызывается нажатием и удержанием на виджете, вызывающем меню.


Кроме того, меню опций работает в одном из двух режимов: значок и развернутое. Когда пользователь впервые нажимает кнопку Меню, появляется режим значка, в котором первые шесть вариантов меню отображаются в виде больших, удобных для пальцев кнопок в сетке в нижней части экрана. Если в меню более шести вариантов, шестая кнопка станет. Больше - нажатие на эту опцию вызовет расширенный режим, показывающий остальные варианты, не видимые в обычном меню. Меню можно прокручивать, поэтому пользователь может перейти к любому из вариантов меню.

Меню опций

Вместо того чтобы создавать меню опций вашей активности во время onCreate(), как вы подключаете остальной пользовательский интерфейс, вам нужно реализовать onCreateOptionsMenu(). Этот обратный вызов получает экземпляр Menu.

Первое, что вы должны сделать, это передать цепочку вверх к суперклассу (super.onCreateOptionsMenu(menu)), чтобы фреймворк Android мог добавить любые варианты меню, которые он считает необходимыми. Затем вы можете приступить к добавлению собственных опций, которые описаны в ближайшее время.

Если вам нужно будет скорректировать меню в процессе работы (например, отключить недействительный выбор меню), просто удерживайте экземпляр Menu, полученный в onCreateOptionsMenu() или реализуйте onPrepareOptionsMenu(), который вызывается непосредственно перед отображением меню при каждом запросе.