| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Экранная кнопка гарантом |
| Автор: Antropoid 31.10.2006, 10:33 |
| Расположение экранных кнопок зависит от реализации девайса. Вопрос: можно ли сделать кнопку, которая будет гарантированно эранной (а не в выпадающем меню) на всех девайсах? |
| Автор: Dancer 31.10.2006, 10:54 |
| "Элементарно, Ватсон! |
| Автор: Antropoid 29.8.2007, 11:47 |
| а без Canvas как быть? Если TextBox, например... |
| Автор: W0LF 29.8.2007, 12:18 |
| никак. Вот в blackberry там с этим все намного проще, а в j2me тока рисовать свою канву и свои кнопки |
| Автор: Samuil 30.8.2007, 00:08 |
| W0LF, Что такое blackberry? |
| Автор: W0LF 30.8.2007, 11:15 |
| Samuil, Создай новую тему, я тебе там отвечу |
| Автор: DarkNeo 31.8.2007, 09:21 |
| А у меня проблемка. Цель - та же самая, как и у автора темы. Использую Canvas, сделал прорисовку экранных клавиш. Но! Полоска внизу канваса, предназначенная для команд, остается на месте... и пропадает только при вызове setFullScreenMode(true).. Можно ли как-либо ее убрать и в нормальном режиме? Очень хочется, чтобы на Нокиах, например, верхняя служебная полоска с информацией о сигнале телефона и заряде батареи не пропадала.. а в полноэкранном режиме её нет.. |
| Автор: math64 31.8.2007, 19:51 |
| А как определить коды softKeys ? Моя Nokia их не ловит - ни keyPressed, ни keyReleased() И в отличие от DefaultColorPhone команды не нумерует и их приходится выбирать джойстиком. Можно поступить по-другому: Добавить команду "Меню" и ту что хотите назначить на Soft2 с помощью addCommandListener(). При нажатии на "Меню" отрисовывать меню вручную. При использовании Form открывается своя Canvas на весь экран (или List), после выбора пункта меню - возврат к Form. |
| Автор: DarkNeo 31.8.2007, 19:53 |
| math64, можно нажатие софтов через getGameAction() отлавливать. Работает везде. |
| Автор: math64 31.8.2007, 20:41 | ||
Как это? Проверяю коды клавиш как:
На нажатие/отпускание softkeys никак не реагирует |
| Автор: DarkNeo 1.9.2007, 01:58 | ||
math64,
|
| Автор: math64 2.9.2007, 01:31 |
| DarkNeo, ты невнимательно меня читаешь - в keyPressed() при нажатии на softKeys я вообще не попадаю. А если бы и попадал то на реальном девайсе keyName был бы по русски (например Clear называется "Клавиша очистки", при выборе английского языка - "Clear key"). Предложенный мной вариант тоже не работает - если добавить две команды типа Command.OK они обе попадут в меню на Soft1, а Soft2 останется неиспользована. Конечно, если подобрать подходящие типы команд, то они распределятся по Soft1 и Soft2, но нет гарантии что для девайса другой фирмы всё будет OK. Добавлено через 8 минут и 54 секунды Думаю если добавлять две команды типа Command.OK и Command.Cancel они распределятся по Soft1 и Soft2 на всех девайсах (но неизвестно в каком порядке) |
| Автор: DarkNeo 2.9.2007, 23:26 | ||||||||
хотя нет... верным будет такой код:
и
вот это работало на всех телефонах, которые я видел. |