我正在BlackBerry中编写应用程序,我想在FullScreen的paint方法中在屏幕的顶部进行一些自定义绘制,同时,我希望在屏幕的下半部分放置一个RichtextField 。我尝试在Field类中使用setPosition方法,但无济于事。那么如何设置添加到FullScreen类的RichtextField的位置?
答案 0 :(得分:1)
定位对象的最佳方法是扩展管理器并使用它来按您希望的方式定位和调整对象的大小。查看net.rim.device.api.ui.Manager和net.rim.device.api.ui.Field的文档,了解管理员如何控制他们的孩子。
答案 1 :(得分:1)
您可以使用SpacerField
来实现此目的:
class SpacerField extends Field {
int localWidth, localHeight;
SpacerField(int width, int height) {
super(Field.NON_FOCUSABLE);
localWidth = width;
localHeight = height;
}
protected void layout(int width, int height) {
// TODO Auto-generated method stub
setExtent(localWidth, localHeight);
}
protected void paint(Graphics graphics) {
}
public int getPreferredWidth() {
return localWidth;
}
public int getPreferredHeight() {
return localHeight;
}
}
并在RichTextField之前将其添加到您的屏幕。在构建SpacerField时,请务必提供合适的width
(Display.getWidth()
?)和height
。
注意: 几个月前,当我需要做类似事情时,我在this forum discussion找到了代码。 < / p>