webview中MotionEvent的几种状态

本文介绍了Android中WebView处理触控事件的过程,包括不同触控状态的定义及其转换为Chromium可处理的形式。详细解释了MotionEvent中定义的主要触控状态,并提到了如何通过EventForwarder进行跨层传递。
MotionEvent状态
  • webview 处理Touch事件时,使用了MotionEvent.java中定义的几种Touch状态,其实就是Android中定义的Touch状态。
  • 之后,webview将Touch数据整理好,利用EventForwarder(Java),通过JNI,穿给EventForwarder(Native层),交给底层Chromium处理。
  • 关于MotionEvent几种Touch状态如下:
// 几种主要的状态

// 压下
public static final int ACTION_DOWN             = 0;

// 抬起
public static final int ACTION_UP               = 1;

// 移动
public static final int ACTION_MOVE             = 2;

// 取消
public static final int ACTION_CANCEL           = 3;

// 点击在区域外面
public static final int ACTION_OUTSIDE          = 4;

// 非第一个finger压下(多指操作时)
public static final int ACTION_POINTER_DOWN     = 5;

// 非第一个手指抬起(多指操作时)
public static final int ACTION_POINTER_UP       = 6;
  • Android中利用点击时间的间隔,来判断长按、双击等状态(参考,ViewConfiguration.java)。
  • WebView的touch处理,和Android大体相同。只是在传给Chromium时,做了一下转换。关于转换这部分,可以参考 EventForwarder.java中sendTouchEvent函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林多

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值