User interface 在HorizontalFieldManager中对齐字段
我创建了一个自定义的User interface 在HorizontalFieldManager中对齐字段,user-interface,blackberry,User Interface,Blackberry,我创建了一个自定义的HorizontalFieldManager,可以使用setPositionChild()和layoutChild()定位字段。如果我向它添加LabelField,它就可以正常工作。问题是当我将标签添加到VerticalFieldManager并将该VFM添加到自定义HFM时。问题是它没有采用VFM的首选高度。知道为什么吗 setPositionChild( getField(0), 0, 0); layoutChild(
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);
这对你有帮助
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);
}
});
添加(新LabelField(“Hello对齐”) 如果要添加多个字段,请为所有字段提供布局 若只使用一个字段,那个么就不需要给出布局,让它添加到manager中