• GestureDetector 完全解析


    个人原创

    OnDown(MotionEvent e):用户触发DonenEvent就会执行
    onShowPress(MotionEvent e):用户触发DonenEvent后,在很短大概0.5秒内,没有触发其他MoveEventh和UpEvent事件,会执行
    onLongPress(MotionEvent e):用户触发DonenEvent后,在很短大概1.5秒内,没有触发其他MoveEventh和UpEvent事件,会执行
        触发顺序:
        onDown->onShowPress->onLongPress
    onSingleTapUp(MotionEvent e):用户触发DonenEvent后在很短大概1秒内,只触发UpEvent而没有出发触发MoveEventh时执行,从时间上能判断出在onSingleTapUp之前可能执行onShowPress,但一定不执行onLongPress
        触发顺序:
        点击一下非常快的(不滑动)Touchup:
        onDown->onSingleTapUp->onSingleTapConfirmed 
        点击一下稍微慢点的(不滑动)Touchup:
        onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed
    onScroll(MotionEvent e1, MotionEvent e2,float distanceX, float distanceY):用户触发DonenEvent后,在onLongPress执行之前触发MoveEventh时执行,此后MoveEventh都会触发onScroll执行
        e1:第1个ACTION_DOWN MotionEvent
        e2:最后一个ACTION_MOVE MotionEvent
        distanceX:上次MoveEventh到这次MoveEventh在x上移动距离
        distanceY上次MoveEventh到这次MoveEventh在y上移动距离

      滑屏:手指触动屏幕后,稍微滑动后立即松开
        onDown-----》onScroll----》onScroll----》onScroll----》………----->onFling
        拖动
        onDown------》onScroll----》onScroll

       onDown------》onScroll----》onScroll------》onFiling

       注意:有的时候会触发onFiling,但是有的时候不会触发,这是因为触发onFiling需要拖动达到一定速度才会执行。

    onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) :用户触发   onScroll事件后,在触发UpEvent时,拖动达到一定速度时触发
         参数解释:
        e1:第1个ACTION_DOWN MotionEvent
        e2:最后一个ACTION_MOVE MotionEvent
        velocityX:X轴上的移动速度,像素/秒
        velocityY:Y轴上的移动速度,像素/秒  

    onSingleTapConfirmed(MotionEvent e):单击确认事件   触发OnsingleTapUp事件后,在很短大概0.5秒内没有再次顺序触发 OnDownUpEvent事件时执行    

    触发顺序是:OnDown->OnsingleTapUp->OnsingleTapConfirmed

    onDoubleTap(MotionEvent e):双击事件  触发OnsingleTapUp事件后,在很短大概0.5秒内再次顺序触发 OnDown和UpEvent事件时执行,  注意在 大概0.5秒内一定触发DownEvent和UpEventUpEvent 事件,可能触发MoveEventhMoveEvent事件UpEventOnDown和UpEvent事件OnDown和UpEvent事件UpEvent事件

    onDoubleTapEvent(MotionEvent e): 在触发onDoubleTap事件后执行,将在OnsingleTapUp事件onDoubleTap事件中间所触发的所有EventTouch事件一个个处理,

    触发顺序是OnDown->OnsingleTapUp->(中间一定执行DownEventDownEvent和UpEvent可能执行MoveEvent事件OnDown可能)->onDoubleTap->onDoubleTapEvent(DownEventDownEvent )触发至少两次次,参数依次为中间发生的事件->onDoubleTapEvent(DownEventDownEvent downEvent)

  • 相关阅读:
    第1关:逆序输出数组元素
    Ubuntu配置java环境安装JDK8
    Ubuntu18安装Tomcat服务
    Windows+ubuntu1803双系统安装
    问题 F: 水仙花数(C#)
    问题 A: C#异或运算符的使用
    hdu 2642 Stars 【二维树状数组】
    poj 2352 stars 【树状数组】
    hdu 1698 Just a Hook 【线段树+lazy】
    线段树【单点更新,区间更新,区间查询,最值查询】
  • 原文地址:https://www.cnblogs.com/ldq2016/p/7000445.html
Copyright © 2020-2023  润新知