我想要放置如下图所示的按钮:
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);我没有得到我想要的结果。
有谁能帮帮我吗?
非常感谢
发布于 2010-06-18 14:16:02
according to docs.
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);
}
};https://stackoverflow.com/questions/3065754
复制相似问题