2012-09-07 46 views
1

有沒有什麼辦法可以在窗體中添加空白的stringItem?我想在表格中顯示一個標尺,但它應該居中對齊。沒有辦法做到這一點我認爲,除非在儀表之前有一些項目。所以我想增加一些空stringItems,但他們不工作。這是我的代碼到目前爲止。以j2me的形式插入空白項目

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

回答

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對象:

一片空白,非交互式具有一個可設置的最小大小。最小寬度對於在表單的同一行內的項目之間分配靈活的空間量非常有用。最小高度對於執行一行的特定最小高度是有用的。應用程序可以將最小寬度或高度設置爲任何非負值。實現可以強制實現定義的最大值爲最小寬度和高度...

...間隔的主要目的是定位其他項目...

+0

非常感謝的xD它真的幫了我很多 – SoH

+0

是否可以在表單的第一行添加空格?我正在嘗試添加一個間隔符,然後附加量表。顯然這不起作用。 – SoH

+0

應該是絕對有可能的,MIDP規範允許按照你的方式添加分隔符。 _does not work_可能是佈局/ min /首選大小指令的一些棘手錯誤使用的結果。我對它的回憶是一個必須非常小心才能得到預期的效果 – gnat