使用LWUIT在J2ME中开发应用程序。当我在Samsung设备上移植此应用程序时,会产生以下问题。
int h = Display.getInstance().getDisplayWidth();
三星GT S5250返回388。因此,当我使用此尺寸绘制图像时,它会在屏幕底部显示一个白色条带。当我调用Form.show()
它正确显示并且高度为400时,如何解决此问题。
我想知道如何在LWUIT中计算Form
大小以及如何在屏幕底部显示MenuBar
高度和白条。
答案 0 :(得分:1)
我认为您在getDisplayWidth()
键入了getDisplayHeight()
。
无论如何,您看到的问题是由于三星设备中的错误。 LWUIT调用MIDP中的全屏模式,该模式隐藏了本机标题区域,但是并不总是在某些设备中立即发生,因此LWUIT从设备获取不正确的信息。刷新通常可以解决这个问题,当LWUIT在屏幕上绘制时,尺寸会得到纠正。
一般来说,解决方案相当简单,创建通用代码来创建图像,如果图像尺寸不合适,当您即将绘制到屏幕时,只需动态重新创建图像。这也将解决设备轮换问题,这也可能造成问题。