Показать сообщение отдельно
Старый 24.06.2014, 14:50
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 1  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
По умолчанию Custom UIComponent + flash = проблемы с percentHeight и percentWidth

Вкратце обрисую суть проблемы. Есть проект сделанный в Flash CS6, с графикой, текстфилдом и присвоенным классом (в котором минимум кода), этот проект компилится в swc. swc подключаю к flex проекту и делаю на его основе UIComponent таким образом:

Код AS3:
package as3comps
{
	import flash.events.MouseEvent;
	import mx.core.UIComponent;
	import as3.FlashTextInputComp;
 
 
	public class FlexTextInput extends UIComponent
	{
 
		private var _input:FlashTextInputComp;
 
 
 
 
		public function FlexTextInput()
		{
			super();
			_input = new FlashTextInputComp();
		}
 
		override protected function createChildren():void
		{
			//здесь создаем статические свойства вокуг динамических (маски, окантовки и т.д.)
			addChild(_input);
			super.createChildren();
		}
 
		override protected function measure():void
		{
			this.minHeight = 40;
			this.minWidth = 437;
			super.measure();
		}
 
		override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
		{
			super.updateDisplayList(unscaledWidth, unscaledHeight);
 
		}
	}
}
где FlashTextInputComp - класс из флешевой swc. Все нормально и компонент можно использовать во flex, но я столкнулся с тем, что размеры компонента через mxml верстку изменять не получается, например такое присвоение длинны не работает:
Код AS3:
<as3comps:FlexTextInput id="input" width="100%" />
Чтение доков на тему жизненного цикла компонентов ситуацию не прояснило. Конечно буду копать сам, и отпишу если что найду, но интересует быстрое и легкое решение, не переделывая флешевый компонент.

Добавлено через 1 час 22 минуты
Уточню вопрос, это понятно что присвоение длинны и высоты компоненту происходит, - как правильно менять длину и высоту флешевого ребенка этого компонента?

Добавлено через 2 часа 2 минуты
И да, через as3 я добился нужного эффекта, но меня интересует именно правильный с точки зрения flex подход :-)