Flex - вертикальное расположение дочерних элементов горизонтального HBox

У меня есть кастомный HBox вот так ....

public class MyBar extends HBox {

public function MyBar() {
super();

this.height = 65;
this.percentWidth = 100;

var newButton:Button = new Button();
//..... 
newButton.y = 20;

var spacer1:Spacer = new Spacer();
spacer1.percentWidth = 50;

var spacer2:Spacer = new Spacer();
spacer2.percentWidth = 50;

this.addChild(spacer1);
this.addChild(newButton);
this.addChild(spacer2);

}

}

Это отображает кнопку в центре HBox, но кнопка выровнена по верхней части окна, я бы хотел, чтобы она была в центре.

Я уверен, что раньше у меня это работало так же просто, как и установка значения y. Но, похоже, сейчас не работает. Я использую SDK 3.3

У кого-нибудь есть подсказки, почему у меня проблемы с этим?

Спасибо!


person adam    schedule 16.04.2009    source источник


Ответы (1)


Установка y не будет работать, поскольку HBox управляет положением y. Если вы хотите, чтобы все кнопки были размещены в середине HBox, вам нужно установить verticalAlign на средний уровень.

в коде, который будет

setStyle("verticalAlign", "middle");
person James Hay    schedule 16.04.2009
comment
Адам ... убедитесь, что вы устанавливаете verticalAlign: middle; на HBox, а не на кнопках. - person Jim Carroll; 09.07.2009