ViewPager嵌套ViewPager,内层ViewPager
//第一页响应父类的左滑,最后一页响应父类的右滑
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相关推荐
- android viewpager 嵌套fragment,Android ViewPager+Fragment多层嵌套(使用问题处理)
之前写了Android ViewPager+Fragment(使用问题处理),封装了一个BaseFragment,对于简单使用ViewPager+Fragment而言,是没有问题的. 不过,ViewP ...
- 解决ViewPager嵌套后子ViewPager不能滑动的方法
2019独角兽企业重金招聘Python工程师标准>>> 重写父ViewPager,并在父ViewPager重载onInterceptTouchEvent方法,并返回false: @O ...
- Android ViewPager嵌套ViewPager+Fragment问题
最近在项目中又遇到了ViewPager互相嵌套的问题,代码实现很简单,主要可能出现的问题是子ViewPager的fragment滑动出现白屏,这个问题的出现是FragmentManager方法调用错误 ...
- viewpager嵌套viewpager
viewpager嵌套viewpager 要求:外层不可以滑动,内层可以滑动 实现:重写外层的viewpager的2个方法即可 public class NoScrollViewPager exten ...
- android viewpager嵌套侧滑删除listview冲突问题
场景: viewpager嵌套侧滑删除的listview(如SwipeMenuListView),当在滑动在SwipeMenuListView的viewpager页时,两者滑动冲突 解决:自定义li ...
- Android两个tab吸顶,Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每
Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每 Android scrollView和viewpager嵌套 指示器吸顶 根据viewpager每个 ...
- NestedScrollView、RecycleView、ViewPager 嵌套常见问题
在开发中我们经常会用到 NestedScrollView 和 RecycleView,一般情况下这两种布局是不需要进行嵌套的,很多情况下 RecycleView 就可以自行解决,但是毕竟是一般情况,因 ...
- ViewPager嵌套ViewPager后子ViewPager滑动不正常问题
ViewPager嵌套ViewPager后,滑动事件没法在子ViewPager里面响应. 解决办法是自定义子ViewPager. package com.lwj.app.customview;impo ...
- Android Fragment嵌套ViewPager,ViewPager嵌套多个Fragment
前几天,项目中要实现这么一个功能.就配置了下.其实很简单,首先 需要阅读下我转载的前两篇文章,都是转载的郭神的,写的非常好.我的项目中逢者必用,其实就相当于一个很好的框架来使用,非常方便. 前两篇的项 ...
- 关于ViewPager嵌套ViewPager左右滑动冲突解决方法
情况如下,TabLayout+ViewPager+Fragment,其中一个Fragment里面又嵌套了一层TabLayout+ViewPager+Fragment,运行的时候出现了两个情况. 1.子 ...
最新文章
- TypeScript的class关键字
- maven jetty
- 麦当劳降价“过冬” 一夜回到十年前(转)
- 【转】mysql数据库优化大全
- Yii 2.0 权威指南 (6) 请求处理
- 应用多开小工具(二次编译)
- 机械能计算机实验教案,学生实验:用DIS研究机械能守恒教案3
- elementUI开始时间和结束时间验证
- 2021/10/04 git 详细流程
- gsm无线热点数据采集服务器,GSM无线网络优化及WLAN热点分析工具开发
- 连接mysql超时_数据库连接超时的原因及其解决方法
- 计算机模拟电子云密度,小知识:分子动力学基本原理及应用
- Python SMTP发送邮件
- 流量统计html代码,CNZZ数据专家
- Whitelabel Error Page
- 原神私服 grasscutter搭建及食用教程 v3.3
- 大物复习整理(自用)
- nslookup命令反解ip_PING、TRACERT、NSLOOKUP命令的使用方法
- 80年代个人计算机,现在的电脑程序在80年代就已经有了
- codeforces 632F. Magic Matrix (最小生成树)