android之事件分发机制

android的事件分发机制相对来说是非常重要的一块内容,初学者在事件分发上面会踩很多坑,类似滑动冲突等,对事件自定义控件也有很大帮助,对这块内容的深入研究迫在眉睫。

一、关于View的一些知识点

1、首先讲一下View与ViewGroup的关系:View是所有控件的基类,控件可以直接继承自View,也可以继承ViewGroup。ViewGroup继承自View。

2、View的位置参数,left,top,right,bottom分别相对于父布局来说,相对位置的概念;android3.0版本之后增加了另外四个参数x,y,translationX,translationY,分别表示平移后View的左上角的X轴,Y轴,X轴偏移量,Y轴偏移量。公式表示如下:

x = left + translationX

y = top + translationY

3、MotionEvent:可以理解为事件对象,事件分发传递的事件对象,里面有两个对参数需要注意,分别是 getX/getY,和getRawX/getRawY,前者表示相对于当前View左上角的x和y,后者表示相对于屏幕左上角的x和y

4、TouchSlop:最小滑动距离,通过这个参数来判断是滑动还是点击事件,如果两次滑动事件的距离小于这个值就表示不是滑动事件,可以通过ViewConfiguration.get(getContext()).getScaledTouchSlop()获取这个值。

5、VelocityTracker:速度追踪,用于追踪手指在滑动过程中的速度;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值