2012-03-29 48 views
0

我創建了自定義HorizontalFieldManager,我可以使用setPositionChild()layoutChild()來定位字段。如果我將LabelField添加到它,它工作正常。問題是當我將標籤添加到VerticalFieldManager並將VFM添加到我的自定義HFM中時。問題是它沒有采用VFM的首選高度。任何想法爲什麼?Horizo​​ntalFieldManager中的對齊字段

setPositionChild(
     getField(0), 
     0, 
     0); 
layoutChild(
     getField(0), 
     getField(0).getPreferredWidth(), 
     getField(0).getPreferredHeight()); //..... 
     setExtent(width, height); 

回答

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」));

0

如果您要添加多個字段,請對所有字段進行佈局。

如果只使用一個字段,則不需要給佈局,讓它添加到經理。

相關問題