PDA

Просмотр полной версии : mx:Accordeon как подписаться на событие окончания анимации смены NavigatorContent


djyamato
24.09.2012, 18:03
Здравствуйте
Для mx:Accordeon-а, у которого openDuration="300" как подписаться на событие окончания анимации смены NavigatorContent ?

Inet_PC
25.09.2012, 13:57
Встроенной возможности не нашел (возможно ее и нет). Можно вот так попробовать:
package
{
import mx.containers.Accordion;

import mx.core.mx_internal;
use namespace mx_internal;

public class MyAccordion extends Accordion
{
public function MyAccordion()
{
super();
}

override mx_internal function onTweenEnd(value:Number):void
{
super.onTweenEnd(value);

trace("animation completed");
}
}
}

djyamato
25.09.2012, 16:03
спасибо, но тут еще всплыла задача отлавливать также собые начала анимации, а приватный метод аккордеона startTween(oldSelectedIndex:int, newSelectedIndex:int) не переопределяется
Так что сделал "monkey patch"

Использую так:

<components:CustomAccordion id="accordeon"
width="100%"
height="100%"
headerHeight="0"
verticalGap="0"
headerStyleName="customAccordionHeadStyles"
openDuration="300"
creationPolicy="all"
tweenStart="accordeon_tweenStartHandler(event)"
tweenEnd="accordeon_tweenEndHandler(event)">