【问题标题】:Menu Bar Height in the LWUIT FormLWUIT 表单中的菜单栏高度
【发布时间】:2012-01-04 00:22:54
【问题描述】:

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

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

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

【问题讨论】:

    标签: java-me lwuit lwuit-form samsung-mobile


    【解决方案1】:

    我认为您在本应输入 getDisplayHeight() 的地方输入了 getDisplayWidth()

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

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

    【讨论】:

    • 嗨。当我没有向表单添加图像时,屏幕底部也会显示白色条带。如何删除此条带。我只需设置表单的背景颜色。我还添加canvas.servicesReapint();但它没有任何影响。如何解决这个问题。
    • 不要调用 serviceRepaints。您没有指定如何将图像添加到表单中?您应该在 callSerially 结束方法中编写代码,这意味着 LWUIT 有时间正确初始化屏幕。我建议你看看 LWUIT 1.5 演示,它在 callSerially 回调时启动 LWUIT。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多