Есть несколько способов добиться того, что вы просили. Одним из способов является использование метода setStatus()
в качестве BBdev (он будет работать только для экранов типа MainScreen
и не будет работать для экранов типа FullScreen
). Другой альтернативой было бы сделать выравнивание по низу вручную .
Важные правила выравнивания, которые следует помнить:
HorizontalFieldManager может выравнивать поля только по вертикали. При добавлении полей в горизонтальный менеджер действуют только эти стили выравнивания: FIELD_TOP, FIELD_VCENTER, FIELD_BOTTOM.
VerticalFieldManager может выравнивать поля только по горизонтали. При добавлении полей в вертикальный диспетчер полей действуют только эти стили выравнивания: FIELD_LEFT, FIELD_HCENTER, FIELD_RIGHT.
Вот фрагмент кода, который делает то, что вы просили.
public class UISandbox extends MainScreen {
public UISandbox() {
super(NO_VERTICAL_SCROLL | NO_HORIZONTAL_SCROLL | USE_ALL_HEIGHT | USE_ALL_WIDTH);
HorizontalFieldManager outerManager = new HorizontalFieldManager(USE_ALL_HEIGHT);
outerManager.setBackground(BackgroundFactory.createBitmapBackground(Bitmap.getBitmapResource("img/bghome.png")));
VerticalFieldManager innerMngr = new VerticalFieldManager(USE_ALL_WIDTH | FIELD_BOTTOM);
final LabelField selectedLabel = new LabelField("Hello World", FIELD_HCENTER) {
protected void paint(Graphics g) {
g.setColor(Color.BLACK);
super.paint(g);
}
};
selectedLabel.setBackground(BackgroundFactory.createSolidBackground(0x00cccccc));
innerMngr.add(selectedLabel);
GridFieldManager innerInnerMngr = new GridFieldManager(1, 3, USE_ALL_WIDTH);
innerInnerMngr.setPadding(10, 0, 10, 0);
innerInnerMngr.setColumnProperty(0, GridFieldManager.AUTO_SIZE, 0);
innerInnerMngr.setColumnProperty(1, GridFieldManager.AUTO_SIZE, 0);
innerInnerMngr.setColumnProperty(2, GridFieldManager.AUTO_SIZE, 0);
innerInnerMngr.add(new ButtonField("Button 1", ButtonField.CONSUME_CLICK | FIELD_HCENTER));
innerInnerMngr.add(new ButtonField("Button 2", ButtonField.CONSUME_CLICK | FIELD_HCENTER));
innerInnerMngr.add(new ButtonField("Button 3", ButtonField.CONSUME_CLICK | FIELD_HCENTER));
innerMngr.add(innerInnerMngr);
outerManager.add(innerMngr);
add(outerManager);
}
}