Pregunta

Tengo una aplicación Flex y quiero añadir un nuevo componente personalizado con escritura de la acción en tiempo de ejecución. Esto funciona bien. He creado mi componente personalizado y añadido el siguiente código:

var freeView:FreeView=new FreeView();
freeView.setStyle("showEffect",this.fadeIn);
freeView.setStyle("hideEffect",this.fadeOut);
freeView.visible=false;
this.addChild(freeView);
freeView.visible=true;

Pero mi problema es el fundido en effecto no está funcionando. Sé que he declarado este efecto correctamente, porque si lo uso en otro componente (como un panel) que trabaja muy bien. Alguien me puede ayudar con este problema? Un saludo!

¿Fue útil?

Solución 2

Finalmente resuelvo el problema de una manera diferente. En lugar de añadir el componente en tiempo de ejecución que he añadido el componente de la aplicación con la propiedad visible establecida en false y cambiarlo a true cuando necesito.

Otros consejos

Asegúrese de llamar a cualquier super-Flex funciones se reemplaza en la subclase TDT.

Especialmente updateDisplayList y commitProperties:

override protected function updateDisplayList(w:Number, h:Number)
{
    super.updateDisplayList(w, h);

    // Your code here.
}


override protected function commitProperties()
{
    super.commitProperties();

    // Your code here.
}

¿Está sobreescribiendo una de las clases de contenedores de alto nivel (por ejemplo, lona o HBox) o UIComponent?

puede hacerlo a la inversa mediante el establecimiento de destino efectos a su nuevo elemento

<mx:Fade id="showFlag" alphaFrom="0" alphaTo="1" duration="5000"/>

var flag:Image = new Image;
flag.source = flagSource;

something.addElement(flag);

showFlag.target = flag;
showFlag.play();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top