Que tal fazer assim?

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
        layout="vertical">

        <mx:ToggleButtonBar dataProvider="{vs}"/>

        <mx:ViewStack id="vs">

                <mx:Panel title="State 1" label="State 1"
                        width="300" height="300"
                        showEffect="Fade" hideEffect="Fade">
                </mx:Panel>

                <mx:Panel title="State 2" label="State 2"
                        width="300" height="300"
                        showEffect="Fade" hideEffect="Fade">
                </mx:Panel>

                <mx:Panel title="State 3" label="State 3"
                        width="300" height="300"
                        showEffect="Fade" hideEffect="Fade">
                </mx:Panel>

                <mx:Panel title="State 4" label="State 4"
                        width="300" height="300"
                        showEffect="Fade" hideEffect="Fade">
                </mx:Panel>

        </mx:ViewStack>

</mx:Application>

Se for isto mesmo que você quer creio que esta seja uma boa solução.

Eu vejo muito as pessoas, inclusive pessoas que se dizem experientes
em Flex, usarem states sem necessidade. Esta utilização indiscriminada
dos states só leva a uma coisa: código ilegível.

O MXML só existe por questões de legibilidade. É melhor usar um XML
para definir uma interface do que uma linguagem de programação como o
ActionScript. No entanto, é terrível analisar o MXML de uma interface
que contem states. Ou seja, ao fazer assim estamos anulando o que há
de melhor o MXML que é a simplicidade e legibilidade.

Eu estou ficando tão cético com relação ao uso de states no Flex que
quando vejo algo com states o alarme logo dispara: BAD SMELL!

[]'s
Beck Novaes

On 25 jun, 04:41, Eder <[EMAIL PROTECTED]> wrote:
> Bom dia galera!
> Estou com uma duvida em relação a mudanças de state com efeito !
> na verdade nao sei como se faz tenho visto exemplos sobre efeitos mas
> o que eu quero nao sei fazer !!
>
> vai o meu codigo!
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
> layout="absolute">
>         <mx:states>
>                 <mx:State name="State1">
>                         <mx:AddChild position="lastChild">
>                                 <mx:Canvas x="174" y="81" width="356" 
> height="299"
> borderStyle="solid" id="c1">
>                                         <mx:Panel x="53" y="47" width="250" 
> height="200"
> layout="absolute" title="state1" id="s1">
>                                         </mx:Panel>
>                                 </mx:Canvas>
>                         </mx:AddChild>
>                 </mx:State>
>                 <mx:State name="State2">
>                         <mx:AddChild position="lastChild">
>                                 <mx:Canvas x="174" y="81" width="356" 
> height="299"
> borderStyle="solid" id="c2">
>                                         <mx:Panel x="53" y="47" width="250" 
> height="200"
> layout="absolute" title="state2" id="s2">
>                                         </mx:Panel>
>                                 </mx:Canvas>
>                         </mx:AddChild>
>                 </mx:State>
>                 <mx:State name="State3">
>                         <mx:AddChild position="lastChild">
>                                 <mx:Canvas x="174" y="81" width="356" 
> height="299"
> borderStyle="solid" id="c3">
>                                         <mx:Panel x="53" y="47" width="250" 
> height="200"
> layout="absolute" title="state3" id="s3">
>                                         </mx:Panel>
>                                 </mx:Canvas>
>                         </mx:AddChild>
>                 </mx:State>
>                 <mx:State name="State4">
>                         <mx:AddChild position="lastChild">
>                                 <mx:Canvas x="174" y="81" width="356" 
> height="299"
> borderStyle="solid" id="c4">
>                                         <mx:Panel x="53" y="47" width="250" 
> height="200"
> layout="absolute" title="state4" id="s4">
>                                         </mx:Panel>
>                                 </mx:Canvas>
>                         </mx:AddChild>
>                 </mx:State>
>         </mx:states>
>
>     <mx:ToggleButtonBar horizontalGap="5" x="59" y="10"
>         itemClick="changeMenu(event)" width="570" height="29"
> color="#ffffff" id="State3">
>             <mx:dataProvider>
>                 <mx:Array>
>                     <mx:String>State1</mx:String>
>                     <mx:String>State2</mx:String>
>                     <mx:String>State3</mx:String>
>                     <mx:String>State4</mx:String>
>                 </mx:Array>
>             </mx:dataProvider>
>         </mx:ToggleButtonBar>
>
> <mx:Parallel id="efeitoc2" target="{c2}">
>    <mx:Fade alphaTo="0"/>
> </mx:Parallel>
>
> <mx:Script>
>         <![CDATA[
>                 import mx.effects.easing.Bounce;
>                 import mx.events.ItemClickEvent;
>                 private function changeMenu(event:ItemClickEvent):void
>                 {
>                    if(event.label == 'State1')
>                    {
>
>              currentState="State1";
>            }
>            if(event.label == 'State2')
>                    {
>              efeitoc2.play();
>
>              currentState="State2";
>            }
>            if(event.label == 'State3')
>                    {
>              currentState="State3";
>            }
>            if(event.label == 'State4')
>                    {
>              currentState="State4";
>            }
>         }
>         ]]>
> </mx:Script>
> </mx:Application>
>
> o que estou querendo e ter um efeito de aparecer e desaparecer o state
> ao se apertar o botao!
> tipo apertar o state 1 se tiver no state 2 ele mudar para o state 1
> desaparecendo o 2 e aparecendo o 1 !  com o efeito <mx:Fade> !
> bem pode ser facil mas preciso muito aprender a trabalhar com efeitos
> e estou com muitas duvidas!
> quem puder me ajudar fico grato!
>
> tenham um otimo dia


--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a