flex的ApplicationControlBar中组件滑出

 
 
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
 <mx:Script>
  <![CDATA[
   import mx.events.EffectEvent;
   import mx.events.MoveEvent;
   private var is_center:Boolean = false;
   private var y_pos:int = 0;
   private function slide_center():void {
    if (!is_center) {
     //记下按钮原位置
     y_pos = btnSlide.y;
     //将按钮从control bar中移出
     acbMain.removeChild(btnSlide);
     //加入到主场景以便滑动
     this.addChild(btnSlide);
     //滑动
     btnSlide.move(btnSlide.x, stage.height/2 - acbMain.height/2);
     is_center = true;
    } else {
     btnSlide.move(btnSlide.x, y_pos);
    }
   }
   
   private function on_effectend(e:EffectEvent):void {
    //为了能够看见按钮回去的过程,要在移动结束后才将它归还control bar控件
    //相反操作即可让按钮回到bar上去
    if (is_center && btnSlide.hitTestObject(acbMain)) {
     this.removeChild(btnSlide);
     acbMain.addChild(btnSlide);
     is_center = false;
    }
   }
  ]]>
 </mx:Script>
 <mx:ApplicationControlBar x="0" y="0" width="100%" id="acbMain">
  <mx:Button label="Click Me" click="slide_center()" id="btnSlide" moveEffect="Move" effectEnd="on_effectend(event)"/>
 </mx:ApplicationControlBar>
 
</mx:Application>


转载于:https://www.cnblogs.com/programmer-wind/archive/2012/03/13/2919534.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值