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

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

Вопрос

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

публичный класс MyBar расширяет 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

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

Спасибо!

Это было полезно?

Решение

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

в коде это будет

setStyle("verticalAlign", "middle");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top