//第一页响应父类的左滑,最后一页响应父类的右滑

public class RollViewPager extends ViewPager {public RollViewPager(Context context, AttributeSet attrs) {super(context, attrs);}int downX = 0; int downY = 0;@Overridepublic boolean dispatchTouchEvent(MotionEvent ev) {//int downX = 0;        这里赋值downX,downY会一直为0;要转为成员变量// int downY = 0;//y轴方向需要考虑移动整个模块,让其支持下拉刷新//在用系统的事件处理机制之前,先让自定义的viewpager满足我们自己定义的规则//viewpager选中最后一个点的时候,由右向左滑动,需要让整个模块进行翻转//viewpager选中第一个点的时候,由左向右滑动,需要让整个模块进行翻转//其余情况,翻转viewpager中的图片switch (ev.getAction()){case MotionEvent.ACTION_DOWN:downX = (int) ev.getX();downY = (int) ev.getY();break;case MotionEvent.ACTION_MOVE:int moveX = (int) ev.getX();int moveY = (int) ev.getY();if(Math.abs(moveX-downX)<Math.abs(moveY-downY)){//y轴上的偏移量比x轴上的偏移量更多,可能会触发下拉刷新,需要响应事件的是大的模块//请求不拦截触摸事件(不是这样的,要拦截)getParent().requestDisallowInterceptTouchEvent(false);//让viewpager告知其父容器要拦截响应事件}else{//x轴偏移量大于y轴偏移量情况if (moveX-downX<0){//由右向左移动,最后一个点,翻转整个模块if (getCurrentItem() == getAdapter().getCount()-1){getParent().requestDisallowInterceptTouchEvent(false);//让viewpager告知其父容器要拦截响应事件}else if (getCurrentItem()<getAdapter().getCount()-1){getParent().requestDisallowInterceptTouchEvent(true);//让viewpager告知其父容器不要拦截响应事件}}else{//由左向右移动,第一个点,翻转整个模块if (getCurrentItem() == 0){getParent().requestDisallowInterceptTouchEvent(false);//让viewpager告知其父容器要拦截响应事件}else if (getCurrentItem()>0){getParent().requestDisallowInterceptTouchEvent(true);//让viewpager告知其父容器不要拦截响应事件}}}break;}return super.dispatchTouchEvent(ev);}
}

ViewPager嵌套ViewPager,内层ViewPager相关推荐

  1. android viewpager 嵌套fragment,Android ViewPager+Fragment多层嵌套(使用问题处理)

    之前写了Android ViewPager+Fragment(使用问题处理),封装了一个BaseFragment,对于简单使用ViewPager+Fragment而言,是没有问题的. 不过,ViewP ...

  2. 解决ViewPager嵌套后子ViewPager不能滑动的方法

    2019独角兽企业重金招聘Python工程师标准>>> 重写父ViewPager,并在父ViewPager重载onInterceptTouchEvent方法,并返回false: @O ...

  3. Android ViewPager嵌套ViewPager+Fragment问题

    最近在项目中又遇到了ViewPager互相嵌套的问题,代码实现很简单,主要可能出现的问题是子ViewPager的fragment滑动出现白屏,这个问题的出现是FragmentManager方法调用错误 ...

  4. viewpager嵌套viewpager

    viewpager嵌套viewpager 要求:外层不可以滑动,内层可以滑动 实现:重写外层的viewpager的2个方法即可 public class NoScrollViewPager exten ...

  5. android viewpager嵌套侧滑删除listview冲突问题

    场景:  viewpager嵌套侧滑删除的listview(如SwipeMenuListView),当在滑动在SwipeMenuListView的viewpager页时,两者滑动冲突 解决:自定义li ...

  6. Android两个tab吸顶,Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每

    Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每 Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每个 ...

  7. NestedScrollView、RecycleView、ViewPager 嵌套常见问题

    在开发中我们经常会用到 NestedScrollView 和 RecycleView,一般情况下这两种布局是不需要进行嵌套的,很多情况下 RecycleView 就可以自行解决,但是毕竟是一般情况,因 ...

  8. ViewPager嵌套ViewPager后子ViewPager滑动不正常问题

    ViewPager嵌套ViewPager后,滑动事件没法在子ViewPager里面响应. 解决办法是自定义子ViewPager. package com.lwj.app.customview;impo ...

  9. Android Fragment嵌套ViewPager,ViewPager嵌套多个Fragment

    前几天,项目中要实现这么一个功能.就配置了下.其实很简单,首先 需要阅读下我转载的前两篇文章,都是转载的郭神的,写的非常好.我的项目中逢者必用,其实就相当于一个很好的框架来使用,非常方便. 前两篇的项 ...

  10. 关于ViewPager嵌套ViewPager左右滑动冲突解决方法

    情况如下,TabLayout+ViewPager+Fragment,其中一个Fragment里面又嵌套了一层TabLayout+ViewPager+Fragment,运行的时候出现了两个情况. 1.子 ...

最新文章

  1. TypeScript的class关键字
  2. maven jetty
  3. 麦当劳降价“过冬” 一夜回到十年前(转)
  4. 【转】mysql数据库优化大全
  5. Yii 2.0 权威指南 (6) 请求处理
  6. 应用多开小工具(二次编译)
  7. 机械能计算机实验教案,学生实验:用DIS研究机械能守恒教案3
  8. elementUI开始时间和结束时间验证
  9. 2021/10/04 git 详细流程
  10. gsm无线热点数据采集服务器,GSM无线网络优化及WLAN热点分析工具开发
  11. 连接mysql超时_数据库连接超时的原因及其解决方法
  12. 计算机模拟电子云密度,小知识:分子动力学基本原理及应用
  13. Python SMTP发送邮件
  14. 流量统计html代码,CNZZ数据专家
  15. Whitelabel Error Page
  16. 原神私服 grasscutter搭建及食用教程 v3.3
  17. 大物复习整理(自用)
  18. nslookup命令反解ip_PING、TRACERT、NSLOOKUP命令的使用方法
  19. 80年代个人计算机,现在的电脑程序在80年代就已经有了
  20. codeforces 632F. Magic Matrix (最小生成树)

热门文章

  1. 年薪40万AI工程师必备的能力项,你达标了吗?
  2. 零基础云开发一个投票小程序 | 我的投票列表页
  3. Integer Intervals
  4. 【PM】软件项目管理流程和方法
  5. Linux进程通信(一)——pipe管道
  6. IT企业面试常见逻辑推理题智力题及详解答案(二)
  7. 华盛顿大学西雅图 计算机科学 申请条件,华盛顿大学西雅图分校申请有哪些条件...
  8. 150分钟学会R语言与R常见问题解答
  9. 手机/移动端的UI框架-Vant和NutUI
  10. 【Python自动化测试14】Python自动化测试基础与进阶练习题