我创建了一个自定义HorizontalFieldManager,我可以在其中使用setPositionChild()和layoutChild()定位字段。如果我将LabelField添加到它上面,它会工作得很好。问题是当我将标签添加到VerticalFieldManager并将该VFM添加到我的自定义HFM时。问题是它没有采用VFM的首选高度。知道为什么吗?
setPositionChild(
getField(0),
0,
0);
layoutChild(
getField(0),
getField(0).getPreferredWidth(),
getField(0).getPreferredHeight()); //.....
setExtent(width, height);发布于 2012-03-30 14:09:53
这会对你有帮助
Manager customManager = new Manager(0)
{
protected void sublayout(int width, int height) {
setPositionChild(
getField(0),
0,
0);
layoutChild(
getField(0),
getField(0).getPreferredWidth(),
getField(0).getPreferredHeight());
setPositionChild(
getField(1),
Graphics.getScreenWidth()/2 - getField(1).getPreferredWidth()/2,
0);
layoutChild(
getField(1),
getField(1).getPreferredWidth(),
getField(1).getPreferredHeight());
setPositionChild(
getField(2),
Graphics.getScreenWidth() - getField(2).getPreferredWidth(),
0);
layoutChild(
getField(2),
getField(2).getPreferredWidth(),
getField(2).getPreferredHeight());
setExtent(width, height);
} };customManager.add(新的LabelField("Hello Alignment"));
发布于 2012-03-30 16:33:53
如果要添加多个字段,则给出所有字段的布局。
如果只使用一个字段,那么不需要给出布局,让它添加到管理器中。
https://stackoverflow.com/questions/9930981
复制相似问题