ScrollView可以监听滚动结束事件吗
1个回答
2016-11-18 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
MotionEvent.ACTION_CANCEL
不是由用户直接触发、有系统再需要的时候触发、例如当父view通过使函数onInterceptTouchEvent()返回true
从子view拿回处理事件的控制权是、就会给子view发一个ACTION_CANCEL事件
这里了view就再也不会收到事件了、可以将其视为ACTION_UP事件对待
onInterceptTouchEvent()函数与onTouchEvent()的区别
1、onInterceptTouchEvent()是用于处理事件(类似于预处理、当然也可以不处理)并改变事件的传递方向
也就是决定是否允许Touch事件继续向下(子view)传递、一但返回True(代表事件在当前的viewGroup中会被处理)
则向下传递之路被截断(所有子view将没有机会参与Touch事件)同时把事件传递给当前的view的onTouchEvent()处理
返回false、则把事件交给子view的onInterceptTouchEvent()
2、onTouchEvent()用于处理事件、返回值决定当前view是否消费(consume)了这个事件
也就是说在当前view在处理完Touch事件后、是否还允许Touch事件继续向上(父view)传递、一但返回True
则父view不用操心自己来处理Touch事件、返回true、则向上传递给父view(注:可能你会觉得是否消费了有关系吗
反正我已经针对事件编写了处理代码?答案是有区别!比如ACTION_MOVE或者ACTION_UP发生的前提是一定曾经发生了ACTION_DOWN
如果你没有消费ACTION_DOWN、那么系统会认为ACTION_DOWN没有发生过、所以ACTION_MOVE或者ACTION_UP就不能被捕获、)
不是由用户直接触发、有系统再需要的时候触发、例如当父view通过使函数onInterceptTouchEvent()返回true
从子view拿回处理事件的控制权是、就会给子view发一个ACTION_CANCEL事件
这里了view就再也不会收到事件了、可以将其视为ACTION_UP事件对待
onInterceptTouchEvent()函数与onTouchEvent()的区别
1、onInterceptTouchEvent()是用于处理事件(类似于预处理、当然也可以不处理)并改变事件的传递方向
也就是决定是否允许Touch事件继续向下(子view)传递、一但返回True(代表事件在当前的viewGroup中会被处理)
则向下传递之路被截断(所有子view将没有机会参与Touch事件)同时把事件传递给当前的view的onTouchEvent()处理
返回false、则把事件交给子view的onInterceptTouchEvent()
2、onTouchEvent()用于处理事件、返回值决定当前view是否消费(consume)了这个事件
也就是说在当前view在处理完Touch事件后、是否还允许Touch事件继续向上(父view)传递、一但返回True
则父view不用操心自己来处理Touch事件、返回true、则向上传递给父view(注:可能你会觉得是否消费了有关系吗
反正我已经针对事件编写了处理代码?答案是有区别!比如ACTION_MOVE或者ACTION_UP发生的前提是一定曾经发生了ACTION_DOWN
如果你没有消费ACTION_DOWN、那么系统会认为ACTION_DOWN没有发生过、所以ACTION_MOVE或者ACTION_UP就不能被捕获、)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询