Высота строки меню в форме LWUIT - PullRequest
1 голос
/ 11 ноября 2011

Приложение разрабатывается в J2ME с использованием LWUIT. Когда я портирую это приложение на устройство Samsung, оно создает следующую проблему.

int h = Display.getInstance().getDisplayWidth();

Возвращает 388 для Samsung GT S5250. Поэтому, когда я рисую изображение, используя это измерение, в нижней части экрана отображается белая полоса. Когда я звоню Form.show(), он отображается правильно, а высота равна 400, так что, как решить эту проблему. Я хочу знать, как рассчитывается размер Form в LWUIT и как он принимает MenuBar Высота и отображение белой полосы в нижней части экрана.

1 Ответ

1 голос
/ 13 ноября 2011

Я думаю, вы набрали getDisplayWidth() там, где хотели набрать getDisplayHeight().

Несмотря на это, проблема, которую вы видите, связана с ошибкой в ​​устройстве Samsung. LWUIT вызывает полноэкранный режим в MIDP, который скрывает собственную область заголовка, однако это не всегда происходит сразу на некоторых устройствах и, таким образом, LWUIT получает неверную информацию от устройств. Обновление обычно решает эту проблему, и к тому времени, когда LWUIT рисует на экране, размер корректируется.

Как правило, решение довольно простое: создайте общий код для создания изображения, а если размеры изображения неуместны, когда вы собираетесь рисовать на экране, просто воссоздайте изображение на лету. Это также решит проблему поворота устройства, что также может создать проблему.

...