zoukankan      html  css  js  c++  java
  • flex 监听Canvas上滚动条的出现或隐藏

    当Canvas中的内容比较满时,超出Canvas显示边界的内容会引起Vertical Scrollbar或者Horizontal Scrollbar的显示。

    Scrollbar会占据一些面积,从而可能会影响软件UI的布局。我们也许会根据Scrollbar的显示而对界面进行相应的调整。

    当我们浏览完Canvas的自带Event后,不难发现,关于滚动的只有一个Scroll事件。当用户拖动滚动条时,这个事件才会被激发。非我们所需。

    解决思路如下,

    1. Scrollbar的出现是因为页面面积的变化。会激发Canvas的updateComplete事件的激发;

    2. 并不是所有的updateComplete的事件的激发都会伴有Scrollbar的出现。那么我们可以在updateComplete的监听方程中来判断下Canvas的scrollbar的property是否为空;

    3. 在updateComplete的监听方程中,需要为2中的判断加一个flag,以标明是否scrollbar是由从无到有的出现。

    实现的大概代码如下,

    1. private function onInit():void{   
    2.   //config the UPDATE_COMPLETE event listener function   
    3.   this.addEventListener(FlexEvent.UPDATE_COMPLETE, traceScrollBar);   
    4. }   
    5.   
    6. /**
    7. * "isShowUp" is the flag for checking whether the scrollbar is added from null status
    8. * "can" is the scrollbar's container
    9. * @param event canvas' UPDATE_COMPLETE event
    10. */  
    11. private function traceScrollBar(event:FlexEvent):void{   
    12.   if(can.verticalScrollBar != null && !isShowUp){   
    13.      trace("The vertical scrollbar is added");   
    14.      isShowUp = true;   
    15.     return;   
    16.    }   
    17.   if(can.verticalScrollBar == null && isShowUp){   
    18.      isShowUp = false;   
    19.     return;   
    20.    }   
    21. }  
  • 相关阅读:
    boxcox1p归一化+pipeline+StackingCVRegressor
    rt-thread调度锁与关闭中断深度探究
    树莓派4最小化安装Linux
    树莓派4可以不用SD卡启动
    树莓派JTAG详细使用笔记
    树莓派上玩街机游戏
    用树莓派制作红白游戏机
    树莓派4上使用uboot+tftp调试rt-thread程序
    在window上搭建树莓派4b的RT-Thread开发环境2
    树莓派上运行RT-Thread并通过esp8266连接网络
  • 原文地址:https://www.cnblogs.com/xinzhuangzi/p/4100564.html
Copyright © 2011-2022 走看看