1

有什么方法可以在表单中附加一个空白的 stringItem 吗?我想在表格中显示一个仪表,但它应该居中对齐。我认为没有办法做到这一点,除非在仪表之前有一些项目。所以我想添加一些空字符串项,但它们不起作用。到目前为止,这是我的代码。

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);
4

1 回答 1

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 的主要目的是定位其他项目...

于 2012-09-07T08:32:38.750 回答