Ok, I'm developing for the Blackberry Bold 9700, and I'm trying to get a 1X4 grid (1 row, 4 columns) to cover the entire width of the Blackberry screen, but it continues to be short. I mean, the grid is left-aligned by default, and thatβs fine if I can make the whole grid cover the entire width (then it doesn't matter). Can any developer tell me what I'm doing wrong? I thought you just added GridFieldManager.USE_ALL_WIDTH to the constructor when declaring a new grid, but it still wonβt work for me.
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); }}
source share