android事件机制

事件机制分为传递和消费
    
    传递 由: activity --> viewgroup --> view
    消费由 : view -->viewgroup --> activity

    优先级
    setOnTouchListener > onTouchEvent > setOnLongClickListener > setOnClickListener

    dispatchTouchEvent
        返回true,说明事件消费了,到此为止了,不会往下传递,也不会往上回传
        返回false, 说明事件没有消费,但是不往下传递,只会往上回传
        只有返回默认super.dispatchTouchEvent 事件才会往下传递,是否往上回传得看 onTouchEvent

    viewgroup 中 onInterceptTouchEvent
        返回true ,表示自己处理事件,进入到自己的onTouchEvent ,事件不会继续传递到子view 
        返回 false 或者默认,事件往子VIEW传递

    onTouchEvent 
        viewgroup 的 super.onTouchEvent(ev) 返回值为false
        view 的super.onTouchEvent(ev) 返回值为ture

        action_down 返回true,才会有后续的action_move,action_up,  (可以这么理解,action_down为ture,说明这不是点击事件,是一  次滑动触摸事件,所以点击事件,长按事件就都不会执行了,可以在之前调用performClick()方法,clickListener才会被调用)
        action_down 返回false,onTouchEvent 中action_move,up都不会执行了,事件会回传到上层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值