ViewPager中requestDisallowInterceptTouchEvent
来源:互联网 发布:高速公路机电系统优化 编辑:程序博客网 时间:2024/06/02 05:37
getParent().requestDisallowInterceptTouchEvent(true)方法。一旦底层View收到touch的action后调用这个方法,这次touch事件中父层就不能拦截了。
在ViewPager的子View中可以使用requestDisallowInterceptTouchEvent方法,让ViewPager不要拦截子view的事件。
在子View的dispatchTouchEvent方法中调用requestDisallowInterceptTouchEvent。
如下:
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
Log.i("test", "MyViewA dispatchTouchEvent "+EventUtils.getMotion(event));
getParent().requestDisallowInterceptTouchEvent(true);
return super.dispatchTouchEvent(event);
}
例子:我重写了ViewPager,打印touch事件log,自定义一个View,可以消耗点击事件。
例子代码:http://download.csdn.net/detail/fengyun703/9430849
没有加上该方法前点击事件触发如下图:
可以看到ViewPager在move事件后会拦截事件。MyViewA没有收到后来的事件。
加上阻止拦截后,可以看到Viewpager并没有拦截事件了。
- ViewPager中requestDisallowInterceptTouchEvent
- requestDisallowInterceptTouchEvent
- requestDisallowInterceptTouchEvent
- requestDisallowInterceptTouchEvent
- requestDisallowInterceptTouchEvent
- requestDisallowInterceptTouchEvent
- requestDisallowInterceptTouchEvent
- requestDisallowInterceptTouchEvent
- requestDisallowInterceptTouchEvent
- requestDisallowInterceptTouchEvent
- requestDisallowInterceptTouchEvent
- 用requestDisallowInterceptTouchEvent()方法防止viewpager和子view冲突
- 关于ViewGroup中requestDisallowInterceptTouchEvent的用法
- 用requestDisallowInterceptTouchEvent()方法防止viewpager和子view滑动事件冲突
- 【Android】requestDisallowInterceptTouchEvent
- Android requestDisallowInterceptTouchEvent
- requestDisallowInterceptTouchEvent---1
- requestDisallowInterceptTouchEvent---2
- 使用spring web flow遇到的问题-1
- UEFI模式下安装ubuntu14.04和windows8.1双系统
- iOS-网络七层模型&&网络数据包
- LeetCode Lowest Common Ancestor of a Binary Search Tree
- 为什么直接执行shell脚本可以,但crontab下执行错误
- ViewPager中requestDisallowInterceptTouchEvent
- Android中Activity四种启动模式和taskAffinity属性详解
- 新的一年,要开始写博客了!
- 华为机试题:Arrange an Array to Form a Smallest Digit
- Linux--ubuntu 14.04 install g++问题
- dx11学习笔记-3.三维空间变换(自己整理,基础详尽)
- hdu3247Resource Archiver (AC自动机+最短路+状压dp)
- andriod开发
- Hibernate与mybaties比对