我正在使用Eclipse& JDE 4.5.0插件。如何垂直对齐字段。我们可以对齐LEFT_BOTTOM
,RIGHT_BOTTOM
,LEFT_VCENTER
,RIGHT_VCENTER
,CENTER
(垂直和水平),BOTTOM_CENTER
等字段。 。?
答案 0 :(得分:7)
在处理字段对齐时,BlackBerry UI字段管理器非常烦人。管理员似乎忽略了所有样式标记(例如HCENTER
,VCENTER
等),因此您能够执行此操作的唯一方法是覆盖经理的sublayout
方法并执行此操作你自己。
这里有一个小片段向您展示我的意思。这个特殊的代码实际上是水平居中,而不是垂直居中,但是一旦你明白了,你可以实现你需要的任何样式。
VerticalFieldManager mainmanager = new VerticalFieldManager(Field.USE_ALL_WIDTH | Field.USE_ALL_HEIGHT)
{
protected void sublayout( int width, int height ) {
super.sublayout( width, height );
width = getWidth();
height = getHeight();
for (int i = 0;i < this.getFieldCount() - 1; i++)
{
Field field = this.getField(i);
//this positions the item in the middle of the manager
int x = (int)((width - field.getWidth()) * 0.50);
setPositionChild(field, x, field.getTop());
}
}
请注意,USE_ALL_WIDTH
和USE_ALL_HEIGHT
样式标记很重要。如果你想做垂直居中,右下对齐等事情,你需要自己编写定位代码。例如,对于右下方对齐,您可以将x位置设置为管理器的宽度减去字段的宽度,将y位置设置为管理器的高度减去字段的高度。
如果您希望能够使用一个自定义管理器类来处理多个不同的样式(如右下角,左下角),您可以在子布局中添加一些逻辑来检查字段的样式标志,然后适当地定位字段。
希望这一切都有意义并帮助你。 :)
答案 1 :(得分:1)
HorizontalFieldManager仅接受垂直对齐样式,而VerticalFieldManager仅接受水平对齐。而已。 恼人的++