我想放置图像中显示的按钮:
alt text http://www.freeimagehosting.net/uploads/413b8990b3.png
为此我使用以下代码,但它不适合我,任何人都可以帮助我
topbarManager = new HorizontalFieldManager();
topbarLeftManager = new HorizontalFieldManager(Field.FIELD_LEFT);
topbarRightManager = new HorizontalFieldManager(Field.FIELD_RIGHT);
topbarCenterManager = new HorizontalFieldManager(Field.FIELD_HCENTER);
topbarLeftManager.add(new ButtonField("first"));
topbarRightManager.add(new ButtonField("second"));
topbarCenterManager.add(new ButtonField("third"));
topbarManager.add(topbarLeftManager);
topbarManager.add(topbarCenterManager);
topbarManager.add(topbarRightManager);
我没有按照我的要求得到结果。
任何人都可以帮帮我。
非常感谢
答案 0 :(得分:2)
HorizontalFieldManager布局管理器将UI组件排列在一个水平行中,从屏幕左侧开始,到屏幕右侧结束。由于此布局管理器水平排列UI组件,因此无法将水平样式位应用于UI组件(例如,Field.FIELD_LEFT,Field.FIELD_HCENTER或Field.FIELD_RIGHT)。您可以应用垂直样式位(例如,Field.FIELD_TOP,Field.FIELD_BOTTOM或Field.FIELD_VCENTER)。
所以,如果你想看到Field.FIELD_LEFT效果,请使用
VerticalFieldManager hfm = new VerticalFieldManager(Manager.USE_ALL_WIDTH);
而不是HorizontalFieldManager,您将看到类似效果的阶梯情况。
布局UI最好的事情是使用自定义布局
HorizontalFieldManager hfm = new HorizontalFieldManager(Manager.USE_ALL_WIDTH){
protected void sublayout(int maxWidth, int maxHeight) {
Field f;
int w = Display.getWidth();
int x=0;
for (int i = 0; i < getFieldCount(); i++) {
f = getField(i);
layoutChild(f, f.getPreferredWidth(), f.getPreferredHeight());
setPositionChild(f, x, 0);
x+=(w-f.getWidth())/2;
}
setExtent(maxWidth, maxHeight);
}
};