4
好的,我正在開發黑莓Bold 9700,我正在嘗試獲得1X4網格(1行,4列)以跨越黑莓屏幕的整個寬度,但它不斷縮短。我的意思是,網格默認對齊左側,如果我可以讓整個網格跨越整個寬度(這並不重要)。一些開發者能告訴我我做錯了什麼嗎?我認爲你只需在構造函數中添加GridFieldManager.USE_ALL_WIDTH來聲明新的網格,但它仍然不適合我。GridFieldManager將不會跨越整個屏幕寬度
final class App3_MainScreen extends MainScreen {
private int numColumns, size;
// Constructor
App3_MainScreen() {
// declare a layout manager to take care of all the layout stuff
numColumns = 4;
size = 4;
VerticalFieldManager vfm = new VerticalFieldManager();
vfm.add(new LabelField("using all width & long label...", LabelField.ELLIPSIS | Field.FIELD_HCENTER));
int borderHeight = Display.getHeight()/2;g
int borderWidth = Display.getWidth()/2;
Manager gridFieldManager = new GridFieldManager(1, 4, GridFieldManager.USE_ALL_WIDTH | GridFieldManager.AUTO_SIZE); // 1 row and 4 columns
gridFieldManager.add(new ButtonField(""+borderHeight, Field.FIELD_HCENTER));
gridFieldManager.add(new ButtonField("222", Field.FIELD_HCENTER));
gridFieldManager.add(new ButtonField("333", Field.FIELD_HCENTER));
gridFieldManager.add(new ButtonField(""+borderWidth, Field.FIELD_RIGHT));
// set padding around each buttonField - top=0, right=5, bottom=0, left=5
gridFieldManager.setPadding(0, 5, 0, 5);
int gfmHeight = 48 * (size/numColumns);
gridFieldManager.setBorder(BorderFactory.createSimpleBorder(
new XYEdges(borderHeight/10, 0, borderHeight/10, 0), // top, right, bottom, left
Border.STYLE_DASHED));
add(gridFieldManager);
}}
非常感謝!你上面看到的代碼是對我的一瞥,我只是在玩圖形用戶界面,看看可以通過編碼完成什麼。我之前做過拖放式GUI設計,但沒有機會純粹通過代碼設計,所以它應該是一種有趣的體驗! – 2010-10-25 20:43:06