当我尝试垂直对齐字段时,它们的行为不符合我的预期?(Blackberry JDE4.5.0 eclipse)

StackOverflow https://stackoverflow.com/questions/1365923

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

有帮助吗?

解决方案

与字段对齐处理时

黑莓UI字段管理者是出了名烦人。经理人似乎忽略了所有的风格标志(像HCENTERVCENTER等),这样你就可以做到这一点是重写你的经理的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位置到管理器的高度减去场的高度。

如果您希望能够使用一个自定义的管理类来处理多种不同的风格(如右下,左下),你可以在sublayout添加一些逻辑来检查该字段的风格标志,然后适当地在场上的位置。

希望这一切有意义,可以帮助你。 :)

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top