1

使用 LWUIT 在 J2ME 中开发应用程序。当我将此应用程序移植到三星设备上时,它会产生以下问题。

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

三星 GT S5250 返回 388。因此,当我使用此尺寸绘制图像时,它会在屏幕底部显示一条白色条带。当我调用它时,Form.show()它显示正确并且高度为 400,那么如何解决这个问题。我想知道如何Form在 LWUIT 中计算大小以及如何MenuBar在屏幕底部显示高度和白条。

4

1 回答 1

1

我想你getDisplayWidth()在你想输入的地方输入了getDisplayHeight()

无论如何,您看到的问题是由于三星设备中的错误造成的。LWUIT 调用 MIDP 中的全屏模式隐藏本机标题区域,但是在某些设备中并不总是立即发生,因此 LWUIT 从设备获取不正确的信息。刷新通常可以解决这个问题,并且当 LWUIT 在屏幕上绘制时,尺寸会得到纠正。

通常,解决方案相当简单,创建通用代码来创建图像,如果图像尺寸不合适,当您要绘制到屏幕上时,只需即时重新创建图像。这也将解决设备旋转问题,这也可能造成问题。

于 2011-11-13T12:32:00.700 回答