Android事件传递机制总结

本文详细介绍了Android中事件的传递机制,包括Activity、ViewGroup及TextView等控件如何处理触摸事件。从dispatchTouchEvent到onTouchEvent,解析了事件如何被分发、拦截及最终消费的过程。

Android中控件的分类

  1. Activity

    dispatchTouchEvent(MotionEvent e)
    onTouchEvent(MotionEvent e)

  2. ViewGroup(View)——可以添加子组件

    dispatchTouchEvent(MotionEvent e)
    onInterceptTouchEvent(MotionEvent e)
    onTouchEvent(MotionEvent e)

  3. TextView(View)——不能添加子组件

    onTouchEvent(MotionEvent e)

事件传递介绍

  1. Activity

    dispatchTouchEvent(MotionEvent e)
    onTouchEvent(MotionEvent e)

  2. ViewGroup(View)——可以添加子组件

    dispatchTouchEvent(MotionEvent e)
    true——自己消费,不向上和向下传递
    false——自己不处理,回传给父组件的onTouchEvent方法处理
    super——调用自己的onInterceptTouchEvent处理,是否拦截事件
    onInterceptTouchEvent(MotionEvent e)
    true:自己消费,调用自己的onTouchEvent()
    false/super:默认往下传递
    onTouchEvent(MotionEvent e)
    true:自己消费
    false/super:回传

  3. TextView(View)——不能添加子组件

    onTouchEvent(MotionEvent e)

     ture——事件消费不回传
     false/super——事件回传

Button事件的传递

由onTouchEvent事件进行触摸判断

在松开的状态,去判断是否调用单击事件(是否赋值了单击事件)

转载于:https://www.cnblogs.com/coderwjq/p/6555296.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值