有三種fieldmanager像-VerticalFieldManager,HorizontalFieldManager和FlowFieldManager,可以使用Non-Scrollable進行設置,垂直和水平。 您必須使用參數(Manager.NO_VERTICAL_SCROLL | Manager.NO_HORIZONTAL_SCROLL)創建水平/垂直FieldManager的對象
但是您必須對其進行自定義以滿足您的條件。
如果您想知道標題大小,只需在Horizontal/Vertical FieldManager中添加containt並分別使用getPreferedHeight()和getPreferedWidth()來獲取其高度或寬度。
這裏是rought代碼:
final LabelField field = new LabelField("Himanshu")
{
protected void layout(int width, int height)
{
super.layout(width, height);
// setExtent(360, 50);
};
public int getPreferredHeight()
{
return super.getPreferredHeight();
}
};
final LabelField field1 = new LabelField("Himanshu")
{
protected void layout(int width, int height)
{
super.layout(width, height);
// setExtent(360, 50);
};
public int getPreferredHeight()
{
return super.getPreferredHeight();
}
};
setTitle(field);
setStatus(field1);
VerticalFieldManager fieldManager = new VerticalFieldManager(Manager.USE_ALL_WIDTH|Manager.NO_VERTICAL_SCROLL)
{
protected void sublayout(int maxWidth, int maxHeight)
{
super.sublayout(maxWidth, maxHeight);
this.setExtent(360, Display.getHeight()-(field.getPreferredHeight())-(field1.getPreferredHeight()));
}
};
fieldManager.setBackground(BackgroundFactory.createSolidBackground(Color.BLUE));
System.out.println("-------------"+field.getPreferredHeight());
add(fieldManager);
不,我添加了對特定行的評論,在這裏我得到了字段20像素的高度,使用field.getPrefferedHeight()。你應該檢查它 – 2011-05-30 17:01:24
thx - 我仍然無法讓它的功能,我的方式想要 - 也許我沒有解釋得很好。我再次更新了這個問題,指出我正在尋找一個可以從單獨的課程中使用的答案,該課程沒有關於橫幅/標題字段的先前知識。理想情況下,我的代碼不需要引用標題字段。你的'fieldManager'知道'field'和'field1' - 這是我試圖避免的解決方法(如果可能的話)。 – 2011-06-02 09:26:24