两个ViewPager嵌套
来源:互联网 发布:java读取上传文件内容 编辑:程序博客网 时间:2024/05/16 08:00
public class HorizontalScrollViewPager extends ViewPager { public HorizontalScrollViewPager(Context context) { this(context,null); } public HorizontalScrollViewPager(Context context, AttributeSet attrs) { super(context, attrs); } private float startX; private float startY; @Override public boolean dispatchTouchEvent(MotionEvent ev) { switch (ev.getAction()){ case MotionEvent.ACTION_DOWN: //一定要先把事件给自己 getParent().requestDisallowInterceptTouchEvent(true); //1.记录起始坐标 startX = ev.getRawX(); startY = ev.getRawY(); break; case MotionEvent.ACTION_MOVE: //1.来到新的坐标 float endX = ev.getRawX(); float endY = ev.getRawY(); //2.计算偏移量 float distanceX = endX - startX; float distanceY = endY - startY; //3.判断滑动方向 if(Math.abs(distanceX) > Math.abs(distanceY)){ //水平方向滑动// 1.如果第0个位置,并且滑动方向是从左到右滑动// getParent().requestDisallowInterceptTouchEvent(false); if(getCurrentItem()==0 && distanceX > 0){ getParent().requestDisallowInterceptTouchEvent(false); }//// 2.如果是页签页面的最后一个位置,并且滑动方向是从右向左滑动// getParent().requestDisallowInterceptTouchEvent(false);// else if(getCurrentItem() == (getAdapter().getCount()-1) && distanceX <0){ getParent().requestDisallowInterceptTouchEvent(false); //请求父控件不要拦截为false,则由父控件获得触摸事件 }// 3.其他中间部分// getParent().requestDisallowInterceptTouchEvent(true); else{ getParent().requestDisallowInterceptTouchEvent(true); } }else{ //竖直方向滑动 getParent().requestDisallowInterceptTouchEvent(false); } break; case MotionEvent.ACTION_UP: } return super.dispatchTouchEvent(ev); }}
0 0
- 两个ViewPager嵌套
- 两个ViewPager嵌套滑动
- viewpager嵌套viewpager
- viewpager嵌套viewpager
- viewpager嵌套viewpager
- viewpager嵌套viewpager
- ViewPager嵌套ViewPager
- ViewPager 嵌套 ViewPager的解决方法
- ViewPager 嵌套ViewPager 焦点解决
- ViewPager嵌套ViewPager的问题
- viewpager嵌套viewpager滑动处理
- viewPager+fragment嵌套viewPager+fragment
- ViewPager+Fragment嵌套ViewPager+Fragment
- ViewPager嵌套Viewager嵌套问题
- ScrollView嵌套ViewPager
- ViewPager嵌套问题
- ListView嵌套ViewPager
- ListView嵌套ViewPager
- C++ 输出流的格式化
- logback.xml 基本配置
- 深入理解java接口和抽象类
- Spark笔记(3)-Spark程序调优
- opencv2生成图像的梯度图
- 两个ViewPager嵌套
- Python中Generators教程
- linux中RPM方式安装mysql
- SecureCRT 配置自动记录日志
- jQuery 遍历 - each() 方法
- cocos2d-x 3.9遇到过的坑
- 问题四十一:怎么用ray tracing画任意圆柱面(generalized cylinder)
- C++中的static关键字的总结
- 10 Java并发编程3-线程间协作总结