我创建了一个自定义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);
答案 0 :(得分:0)
这会对你有所帮助
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(new LabelField(“Hello Alignment”));
答案 1 :(得分:0)
如果要添加多个字段,请为所有字段指定布局。
如果只使用一个字段,则无需提供布局,请将其添加到管理器。