FLEX动态弹入弹出 HDividedBox的dividerPress

本文介绍如何使用 Flex 中的 HDividedBox 控件实现面板的动态隐藏与显示功能。通过监听 dividerPress 事件并在事件处理函数中调整组件宽度,实现了平滑的隐藏和显示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

点击HDividedBox的divider时,HDividedBox的一侧隐藏,而当我再次点击divider时显示。

了解到HDividedBox针对divider有:dividerDrag、dividerPress、dividerRelease三个事件。

分别是拖拽、按下、释放。

我选择在按下的时候触发一个事件。然后,在隐藏时,给了一个resize的效果

源码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:esri="http://www.esri.com/2008/ags"
    paddingLeft="0"
    paddingRight="0"
    paddingTop="0"
    paddingBottom="0"
    layout="absolute" >
 <mx:Style>
  
  
 </mx:Style>
 <mx:Script>
  <![CDATA[
   import mx.core.UIComponent;
   import mx.events.DividerEvent;
   
   
   private function hiddenLeft(event:DividerEvent):void{
    var child:UIComponent = event.target.getChildAt(0);
    if(child.width == 0){
     expand1.play();
    }else{
     expand.play();
    }
   }
   
  ]]>
 </mx:Script>
 <mx:Resize id="expand" target="{childcontain}" widthTo="0"
      duration="1500"/>
 <mx:Resize id="expand1" target="{childcontain}" widthTo="100"
      duration="1500"/>        
 <mx:HDividedBox width="100%" height="100%" dividerPress="hiddenLeft(event)" id="container">
  <mx:VDividedBox width="100" height="100%" id="childcontain">
   <mx:Panel width="100%" height="100%" id="pan"/>
  </mx:VDividedBox>
  <mx:Canvas height="100%" width="100%"/>
 </mx:HDividedBox>
</mx:Application>

 

效果:

HDividedBox的dividerPress - lurui110 - lurui110的博客

 

HDividedBox的dividerPress - lurui110 - lurui110的博客

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值