以j2me形式插入空白项目

时间:2012-09-07 05:58:38

标签: java-me alert midp lcdui gauge

有没有办法在表单中追加空白的stringItem?我想在一个表格中显示一个规格,但它应该是中心对齐的。没有办法这样做我认为除非在仪表之前有一些项目。所以我想添加一些null stringItems,但它们不起作用。到目前为止,这是我的代码。

loadingDialog = new javax.microedition.lcdui.Form("Please Wait");
        Gauge gau = new Gauge("\nPlease wait.", false, Gauge.INDEFINITE,
                Gauge.CONTINUOUS_RUNNING);
        gau.setPreferredSize(230,80);
        gau.setLayout(Item.LAYOUT_BOTTOM);
        //Displayable SizeCanvas = new MyCanvas();
        StringItem st = new StringItem(" ", " ");
        loadingDialog.append(st);
        loadingDialog.append(gau);
        parentMidlet.displays.setCurrent(loadingDialog);

1 个答案:

答案 0 :(得分:3)

有一个特殊的布局指令可以将项目居中,不出所料, LAYOUT_CENTER

使用您提供的代码段,可以将此指令设置为

gau.setLayout(Item.LAYOUT_BOTTOM | Item.LAYOUT_CENTER);

或者,如果您想将其设置在单独的声明中,

gau.setLayout(gau.getLayout() | Item.LAYOUT_CENTER);

如果您的设备是MIDP 2.0,则不强制遵循此指令(尽管可以期望具有合理质量的设备支持它)。在MIDP 2.1设备中,它必须得到规范中明确要求的支持。


顺便说一下,为了更高级的项目对齐目的,有一个名为Spacer的专用lcdui对象:

  

具有可设置的最小尺寸的空白非交互式项目。最小宽度对于在表单的同一行内的项之间分配灵活的空间量非常有用。最小高度对于强制行的特定最小高度很有用。应用程序可以将最小宽度或高度设置为任何非负值。实现可以强制实现最小宽度和高度的实现定义的最大值...

     

...... Spacer的主要目的是定位其他项......