Показать сообщение отдельно
Старый 05.02.2013, 15:03
Чеширский Кот вне форума Посмотреть профиль Отправить личное сообщение для Чеширский Кот Найти все сообщения от Чеширский Кот
  № 1  
Ответить с цитированием
Чеширский Кот

Регистрация: Mar 2012
Сообщений: 40
По умолчанию spark Group и визуальные нижестоящие элементы.

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

Код 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 с "центровкой", то он пересчитает координаты по своему. И переместит группы не так как нужно мне (не так как я задал координаты группам).

Как грамотно изменить ширину группы, чтобы остались мною заданные координаты?