Здравствуйте.

Код AS3:
package
{
import mx.controls.Button;
import spark.components.Group;
import spark.layouts.HorizontalLayout;
public class MyGroup extends Group
{
public function MyGroup()
{
super();
var horizontalLayout:HorizontalLayout = new HorizontalLayout();
horizontalLayout.horizontalAlign = "center";
this.layout = horizontalLayout;
this.addElement(new Button);
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
myFunction();
}
}
}
В эту группу добавляются, допустим, еще три таких же (MyGroup).
Они выстраиваются горизонтально, т.е. на экране 3 Button обернутые в каждый в свою группу.
Теперь вручную, при помощи метода myFunction(); меняю координаты X у групп так, что первая группа и третья сместились ко второй, например, на 20.
Суть в том, что теперь ширину группы можно сократить на 40.
Если просто присвоить this.width = this.width - 40,
то т.к. horizontalLayout с "центровкой", то он пересчитает координаты по своему. И переместит группы не так как нужно мне (не так как я задал координаты группам).
Как грамотно изменить ширину группы, чтобы остались мною заданные координаты?