Как открыть меню параметров программно?

Я хотел бы открыть optionsMenu программно без щелчка по клавише меню от пользователя. Как я сделал бы это?

56
задан Janusz 6 February 2012 в 10:24
поделиться

2 ответа

Два способа сделать это:

Activity.getWindow().openPanel(Window.FEATURE_OPTIONS_PANEL, event);

Аргумент события - это KeyEvent , описывающий клавишу, используемую для открытия меню, которая может изменять способ отображения меню в зависимости от тип клавиатуры, от которой он пришел.

Или ... имитируя нажатие кнопки пользователем:

IWindowManager wManager = IWindowManager.Stub.asInterface(ServiceManager.getService("window"));
KeyEvent kd = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_SOFT_LEFT);
KeyEvent ku = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_SOFT_LEFT);
wManager.injectKeyEvent(kd.isDown(), kd.getKeyCode(), kd.getRepeatCount(), kd.getDownTime(), kd.getEventTime(), true);
1
ответ дан 26 November 2019 в 17:05
поделиться

Или просто вызовите Activity.openOptionsMenu () ?

92
ответ дан 26 November 2019 в 17:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: