Горизонтальное центрирование полей в менеджере вертикальных полей

vfm = new VerticalFieldManager(Manager.VERTICAL_SCROLL);
    vfm.add(new LabelField("horizontally centered...",Field.FIELD_HCENTER | LabelField.FOCUSABLE));
    vfm.add(new LabelField("horizontally centered...",Field.FIELD_HCENTER | LabelField.USE_ALL_WIDTH | LabelField.FOCUSABLE));

    add(vfm);

Почему я не могу заставить свои поля быть горизонтально выровненными. Я пробовал разные комбинации, но не могу добиться, чтобы ни одно поле с ярлыком не было выровнено по центру. Если я добавляю второе поле ниже с USE_ALL_WIDTH, то первое поле центрируется.

Я не знаю, как правильно это сделать!

EDIT:

По ссылке, приведенной ниже, я попробовал сделать:

vfm = 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++)
            {
                System.out.println("field:" + 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());
            }
        }


    };


    vfm.add(new LabelField("Facebook"));


    add(vfm);

Проблема в том, что я не получаю никаких полей. Как мне это реализовать?

5
задан Adam 4 January 2012 в 15:10
поделиться