как автоматически скрывать команды в форме LWUIT

У меня есть форма LWUIT, в которой есть 3 контейнера, каждый со своим содержимым. В форму были добавлены две команды ("BackCommand" и "ExitCommand").

Эти команды показаны внизу экрана. Команды занимают довольно много места на экране. Могу ли я автоматически скрывать эти команды, как мы можем автоматически скрывать панель задач в Windows?

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

Как мне этого добиться?


person Nikhil    schedule 16.03.2012    source источник


Ответы (2)


Вам нужно получить класс MenuBar, представленный в LWUIT 1.5, и переопределить функциональность строки меню любым удобным для вас способом, например. установка MenuBar для видимого «ложного» в форме.

person Shai Almog    schedule 19.03.2012

Чтобы скрыть панель команд, напишите в class вашего Form :

removeCommand(BackCommand);
removeCommand(ExitCommand);

Чтобы повторно отобразить command, вы должны переопределить метод keyReleased(int keycode) и получить gameAction клавиши, нажатой с помощью Display.getInstance().getGameAction(keycode). Для этого: сначала покажите значение gameAction двух программных кнопок в диалоговом окне, затем в своем if тесте compare getGameAction на эти числа.

person pheromix    schedule 16.03.2012
comment
ах... не так, чувак... много кода... ищешь что-то получше. но эй спасибо! - person Nikhil; 16.03.2012
comment
понимаете... мне придется снова добавить команды после того, как пользователю не нужно, чтобы они были в фокусе; это означает больше кода, и это не так элегантно... :) - person Nikhil; 16.03.2012