2

我正在使用 Eclipse 和 JDE 4.5.0 插件。如何垂直对齐字段。我们可以对齐LEFT_BOTTOM, RIGHT_BOTTOM, LEFT_VCENTER, RIGHT_VCENTER, CENTER(垂直和水平),BOTTOM_CENTER等字段吗?

4

2 回答 2

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_WIDTHUSE_ALL_HEIGHT样式标志很重要。如果您想做垂直居中、右下对齐等操作,您需要自己编写定位代码。例如,对于右下对齐,您可以将 x 位置设置为管理器的宽度减去字段的宽度,将 y 位置设置为管理器的高度减去字段的高度。

如果您希望能够使用一个自定义管理器类来处理多种不同的样式(如右下角、左下角),您可以在子布局中添加一些逻辑来检查字段的样式标志,然后适当地定位该字段。

希望这一切都有意义并帮助您。:)

于 2009-09-05T18:27:38.170 回答
1

Horizo​​ntalFieldManager 只接受垂直对齐样式,VerticalFieldManager 只接受水平对齐。就是这样。烦人++

于 2010-10-13T15:31:26.490 回答