WebView Touch事件总结
来源:互联网 发布:iphone6s硬件检测软件 编辑:程序博客网 时间:2024/06/05 14:15
WebView Touch事件总结
通过VIew的dispatchTouchEvent(MotionEvent event)函数调用子类
WebView::OnTouchEvent(MotionEvent); 调用
WebViewClassic::onTouchEvent(MotionEvent ev) (在这里你可以做些自己想做的事情,比如if (ev.getAction() == MotionEvent.ACTION_UP) .....
之后会调用
if (mInputDispatcher.postPointerEvent(ev, getScrollX(), getScrollY() - getTitleHeight(), mZoomManager.getInvScale())) {
mInputDispatcher.dispatchUiEvents();
return true;
}
// mInputDispatcher是android4.1中新添加的WebViewInputDispatch类型的变量,专们用来处理WebView的输入事件处理
WebViewInputDispatch.java:: dispatchUiEvents() 会调用dispatchUiEvents(false) 即是:
WebViewInputDispatch.java:: dispatchUiEvents(boolean calledFromHandler) (此函数有两处被调用,一是此处,二是WebViewInputDispatch.java::
UiHandle 中的handleMessage()调用)。然后调用
dispatchUiEvent(MotionEvent event, int eventType, int flags) ,此函数调用 mUiCallbacks.dispatchUiEvent(event, eventType, flags);将事件回调至
WebViewClassic:: onHandleUiEvent(MotionEvent event, int eventType, int flags) //此函数内有我们的放大镜显示,如果
eventType==WebViewInputDispat cher.EVENT_TYPE_TOUCH,调用
WebViewClassic:: onHandleUiTouchEvent(MotionEvent ev) 调用
WebViewClassic:: handleTouchEventCommon(ev, action, Math.round(x), Math.round(y)); 进行最后的处理。
其中UiHandle 中的handleMessage()由postPointerEvent(ev, getScrollX(), getScrollY() - getTitleHeight(), mZoomManager.getInvScale())函数经过一些
步骤后调用sendMessage()
- WebView Touch事件总结
- Touch事件总结
- touch事件总结
- touch事件传递原理总结
- touch事件传递原理总结
- Cocos2d-html5 touch事件总结
- touch事件传递机制总结
- Android Touch事件传递总结
- Android Touch事件总结 一
- ViewGroup的touch事件总结
- js touch事件 手势滑动事件总结
- Android WebView Touch事件及相关问题处理
- 移动端开发概览[webview和touch事件]
- Android Touch事件传递的一些总结
- Android中Touch事件的总结
- Android touch事件分发与总结
- Android中Touch事件的总结
- Android Touch事件分发机制总结
- Java 线程池的原理与实现
- Linux centOS6.4下的firefox浏览器登录webqq无法显示验证码解决办法
- android log处理
- iOS GIF 格式动画 图片显示
- 黑马程序员-网络编程03
- WebView Touch事件总结
- cocos2d-x 添加admob全屏广告(iOS版)
- 数据结构与算法之——线性表的链式存储结构
- ubuntu(Debian)中ISO相关控制命令
- 我们去哪
- webkit 扩展JS(添加新类)
- 第六周
- 软件工程研究领域最顶级的两个期刊
- 当今商业中使用的三种十分重要的IT应用系统