【你不知道的flex】-【state状态切换之初始化方法】

4 篇文章 0 订阅

一:背景

flex全屏切换的效果

二:目的

1:状态2=》状态1

2:切换执行状态1的初始化方法(某方法,我们一般是init方法,你懂得)

注:看似很简单,那么来试试吧。

三:code

<mx:states>
  <mx:State name=”s1″  >
   <mx:AddChild position=”lastChild”   >
    <local:s1  id=”mainapp” horizontalCenter=”0″ verticalCenter=”0″ width=”100%” height=”100%”>
    </local:s1>
   </mx:AddChild>
   
  </mx:State>
  <mx:State name=”s2″>
   <mx:AddChild position=”lastChild”>
    <local:s2 />
   </mx:AddChild>
  </mx:State>
 </mx:states>

状态s1,状态s2两个状态

s1,s2是两个自定义组件

关键代码:请看红色部分

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Canvas xmlns:mx=”http://www.adobe.com/2006/mxml” width=”100%” height=”100%” creationComplete=”init()” addedToStage=”init2()” >
 
 
 <mx:Script >
  <![CDATA[
   
   
   private function init():void{
    trace("s1 init");
   }
   
   private function init2():void{
    trace("s1 init2");
   }
  ]]>
 </mx:Script>
 
 <mx:Label x=”106″ y=”115″ text=”S1=状态1″ fontSize=”36″ fontWeight=”bold”/>
 
 
</mx:Canvas>

 

四:输出

s1 init
s1 init2
s1 init2
s1 init2
s1 init2
s1 init2
s1 init2
s1 init2
s1 init2

init只是第一次执行,init2每次切换的时候都执行

五:结论

状态切换时候initialize,creationComplete的方法,都只是执行一次,多次切换,仅执行一次。

如果需要每次切换,请将方法写到addedToStage=“init()”。

六:源码下载
点我下载

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值