我想在BlackBerry应用中设置EditField
的高度和宽度。
答案 0 :(得分:8)
您需要覆盖字段的布局方法来为您设置大小:
protected void layout(int width, int height)
{
super.layout(customWidth, customHeight);
setExtent(customWidth, customHeight);
}
您在其他位置设置了customWidth
和customHeight
。
super.layout(customWidth, customHeight)
将该字段用于使用您的特殊宽度&高度。
setExtent(customWidth, customHeight)
设置屏幕上字段的大小。
当您使用类似于以下代码的代码声明EditField时,可以执行此操作:
final int customWidth = Display.getWidth();
final int customHeight = 30;
Field myEditField = new EditField()
{
protected void layout(int width, int height)
{
super.layout(customWidth, customHeight);
setExtent(customWidth, customHeight);
}
};
答案 1 :(得分:3)
您还可以在horizontalFieldmanager中调整编辑字段,并覆盖sublayout方法以设置horizontalfieldmanager的高度和宽度,以设置高度和宽度。编辑区的宽度
答案 2 :(得分:1)
editField
sublayout
方法editField
添加到屏幕,它将填充从屏幕开始到结束的所有可用宽度您可以通过在左侧放置一些字段并将editField
放在最后一个字段来使用此想法。
或者,您可以使用以下代码。
您将设置管理器和编辑字段的宽度和高度,并尝试将它们放在屏幕上:
HorizontalFieldManager containerManager = new HorizontalFieldManager() {
public int getPreferredHeight() {
return super.getPreferredHeight();
}
public int getPreferredWidth() {
return super.getPreferredWidth();
}
protected void sublayout(int maxWidth, int maxHeight) {
setExtent(getPreferredWidth(), getPreferredHeight());
super.sublayout(getPreferredWidth(), getPreferredHeight());
}
};
EditField editField = new EditField(Field.FIELD_VCENTER) {
public int getPreferredHeight() {
// TODO Auto-generated method stub
return super.getPreferredHeight();
}
public int getPreferredWidth() {
// TODO Auto-generated method stub
return super.getPreferredWidth();
}
};
答案 3 :(得分:0)
另一种修改EditField高度的方法是在边框周围填充边框,如下所示:
EditField emailField = new EditField("", "optional initial text");
XYEdges xyEdge = new XYEdges(2, 2, 2, 2);
XYEdges xyEdgeColors = new XYEdges(0x00dddddd, 0x00dddddd, 0x00dddddd, 0x00dddddd);
Border aBorder = BorderFactory.createSimpleBorder(xyEdge, xyEdgeColors, Border.STYLE_SOLID);
emailField.setBorder(aBorder);
emailField.setPadding(10, 5, 5, 10);