ViewGroup onInterceptTouchEvent,ViewGroup onTouchEvent,View onTouchEvent执行顺序说明
今天抽出了一些时间实践了viewgroup和view的触摸事件顺序,之前也试过,总是忘记,今天记下笔记说明一下
首先 onInterceptTouchEvent只会出现在viewgroup中,view中是没有此方法的。看下官方给出onInterceptTouchEvent返回值的解释
Return true to steal motion events from the children and have
* them dispatched to this ViewGroup through onTouchEvent().
* The current target will receive an ACTION_CANCEL event, and no further
* messages will be delivered here.
意思大致上说如果返回true的话证明viewgroup消费了此手势的一系列事触摸事件(一般执行顺序 down,move,up),view 任何一个触摸事件都不会执行到ontouch方法中
(注意此ontouch方法是子view的哦,并不是viewgroup的)。
1. onInterceptTouchEvent返回true
当onInterceptTouchEvent 执行了down方法后,接下来的move,up等事件也不会通过此方法了,都会交给viewgroup的ontouch去处理。如果viewgroup的ontouch事件返回true 接下来的 move,up等事件也都被viewgroup 的ontouch方法拦截到,如果返回false的话,也就能拦截到down事件了。
2.onInterceptTouchEvent返回false
(1) 子View的onTouchEvent返回true
ViewGroup的onInterceptTouchEvent和子view onTouchEvent会接收到接下来的所有消息
ViewGroup的onTouchEvent不会接收到任何消息
(2) 子View的onTouchEvent返回false 并且 ViewGroup的onTouchEvent返回false 执行结果如下:
ViewGrouop onInterceptTouchEvent(13331): Action Down
View onTouchEvent(13331): Action Down
ViewGrouop onTouchEvent(13331): Action Down
(3) 子View的onTouchEvent返回false 并且 ViewGroup的onTouchEvent返回true 执行结果如下:
ViewGrouop onInterceptTouchEvent: Down
View onTouchEvent: Down
ViewGrouop onTouchEvent: Down
ViewGrouop onTouchEvent: Move
ViewGrouop onTouchEvent: Up
上述就是ViewGroup onInterceptTouchEvent,ViewGroup onTouchEvent,View onTouchEvent返回值不用所回调函数的顺序
ViewGroup onInterceptTouchEvent,ViewGroup onTouchEvent,View onTouchEvent执行顺序说明的更多相关文章
- UIViewController的生命周期及iOS程序执行顺序 和ios6 处理内存警告
当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序1. alloc 创建对象,分配空间2.init (initWithN ...
- Android中onInterceptTouchEvent、dispatchTouchEvent及onTouchEvent的调用顺序及内部原理
在Android中需要经常对用户手势进行判断,在判断手势时需要精细的分清楚每个触摸事件以及每个View对事件的接收情况,在View,ViewGroup,Activity中都可以接收事件,在对事件进行处 ...
- 自定义控件(视图)2期笔记14:自定义视图之View事件分发 dispatchTouchEvent,onTouch,onTouchEvent,onClick逻辑顺序过程
1. 这里我们先从案例角度说明dispatchTouchEvent,onTouch,onTouchEvent,onClick逻辑顺序过程: (1)首先我们重写一个MyButton 继承自 Button ...
- 深入Android开发之--理解View#onTouchEvent
一:前言 View是Android中最基本的UI单元. 当一个View接收到了触碰事件时,会调用其onTouchEvent方法.方法声明如下: ? 1 2 3 4 5 6 7 /** * Imple ...
- Android ViewGroup onInterceptTouchEvent
public boolean onInterceptTouchEvent (MotionEvent ev) Implement this method to intercept all touch s ...
- SQL 语句与性能之执行顺序
select * , t3.Name from t1 left join t2 on t1.sysno = t2.Asysno left join t3 on t3.sysno = t2.Bsysno ...
- UITableView代理方知多少+执行顺序
一.前言 iOS中UITableView是最常用的一个控件.看了一下UITableView的代理:UITableViewDelegate 和 UITableViewDataSource.其中UITab ...
- Unity3D事件函数的执行顺序 - 包含渲染等模块的完整版,中英文对照
原文地址: http://www.cnblogs.com/ysdyaoguai/p/3746828.html In Unity scripting, there are a number of eve ...
- ASP.NET MVC ActionFilterAttribute的执行顺序
http://diaosbook.com/Post/2014/6/3/execution-order-of-actionfilter-aspnet-mvc ASP.NET MVC里面我们要自定义Act ...
随机推荐
- Nexus 按项目类型分配不同的工厂来发布不同 项目
但是有时候,一个公司会有很多项目[crm,oa,erp]等等的项目.如果把这些项目全部都放到releases或者snapshots中的话会有点混乱.比较好的办法是,按项目来分.每个项目一个工厂:cms ...
- nginx的Mainline version、Stable version、Legacy version
Nginx官网提供了三个类型的版本Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版Stable version:最新稳定版,生产环境上建议使用的版 ...
- HTML的基础知识
1.什么是HTML? html是一种,用来描述网页的一种语言,指的是一种超文本编辑语言,他不是一种编程的语言,而是一种标记的语言,包含:静态HTML和动态的HTML: 2.学习推荐的网站: http: ...
- 获取RequestMapping注解中的属性
参考:https://www.cnblogs.com/2013jiutian/p/7294053.html @RequestMapping("/value1") @Controll ...
- The Last Stand
The Last Stand https://ac.nowcoder.com/acm/contest/303/L 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语 ...
- GridView中如何实现自定义时间货币等字符串格式?
方法一: <asp :GridView ID="GridView1" runat="server"> <columns> <asp ...
- 常用特殊符号的HTML代码(HTML字符实体)
适当使用实体,对页面开发有相当大的帮助. 自己收集的一些常用的以实体代替与HTML语法相同的字符,避免浏览解析错误. 常用HTML字符实体(建议使用实体): 字符 名称 实体名 实体数 • 圆点 ...
- 【校招面试 之 C/C++】第11题 C++ 纯虚函数
1.纯虚函数 成员函数的形参后面写上=0,则成员函数为纯虚函数. 纯虚函数声明: virtual 函数类型 函数名 (参数表列) = 0: class Person { virtual void Di ...
- php5.4 trait 理解与学习
Trait 是 php5.4引入的新特性,手册上说的一大段没看懂,这里直接来过来. Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制.Trait 为了减少单继承语言的限制,使开发人员 ...
- (三)介绍简单的ROS命令
1.ROS文件系统中的基本概念 Packages: Package是ROS系统中最底层最基本的组织,里面存放各种文件:库.工具.可执行文件等.Manifest: 一个package描述xml文件,定义 ...