andorid自定义ViewPager之——子ViewPager滑到边缘后直接滑动父ViewPager
最近的项目中,有一个需求要用ViewPager中嵌套ViewPager去实现整个效果,没做任何处理做出来后,只能不停的滑动子ViewPager,父ViewPager就无法滑动了,这样肯定是不满足的,分析了一下原因,很显示是整个滑动事件都被子ViewPager消耗掉了,所以只能对ViewPager做一下自定义处理,才可以实现。以下是这个需求实现后的效果图:
从图上就可以看出:我们用ViewPager中嵌套了ViewPager,而且要实现的是子ViewPager滑动到最后一页时,再滑就是滑动父ViewPager.下面将自定义的ViewPager代码贴出来,大家可以参考下。
/*********************************************************** @文件名称:MyViewPager.java* @创建时间:2014年11月18日 下午4:24:25* @修改历史:2014年11月18日创建初始版本**********************************************************/
public class MyViewPager extends ViewPager
{//父ViewPager的引用private ViewPager viewPager;private boolean flag = true;private float mLastMotionX;public BookstoreViewPager(Context context){super(context);}public BookstoreViewPager(Context context, AttributeSet attrs){super(context, attrs);}public ViewPager getViewPager(){return viewPager;}//处理前必须调用此方法初始化冲突ViewPagerpublic void setViewPager(ViewPager viewPager){this.viewPager = viewPager;}@Overridepublic boolean dispatchTouchEvent(MotionEvent ev){final float x = ev.getX();switch (ev.getAction()){case MotionEvent.ACTION_DOWN:// 使父控件不处理任何触摸事件viewPager.requestDisallowInterceptTouchEvent(true);flag = true;mLastMotionX = x;break;case MotionEvent.ACTION_MOVE:if (flag){if (x - mLastMotionX > 5 && getCurrentItem() == 0){flag = false;viewPager.requestDisallowInterceptTouchEvent(false); //将事件交由父控件处理}if (x - mLastMotionX < -5 && getCurrentItem() == getAdapter().getCount() - 1){flag = false;viewPager.requestDisallowInterceptTouchEvent(false);}}break;case MotionEvent.ACTION_UP:viewPager.requestDisallowInterceptTouchEvent(false);break;case MotionEvent.ACTION_CANCEL:viewPager.requestDisallowInterceptTouchEvent(false);break;}return super.dispatchTouchEvent(ev);}}
andorid自定义ViewPager之——子ViewPager滑到边缘后直接滑动父ViewPager相关推荐
- android左右滑动fragment,Android基于ViewPager+Fragment实现左右滑屏效果的方法
本文实例讲述了Android基于ViewPager+Fragment实现左右滑屏效果的方法.分享给大家供大家参考,具体如下: 1.xml布局模板 android:id="@+id/local ...
- Android开发之可以在临界点左右滑动的ViewPager
老套路先上效果图: 可以在临界点滑动的ViewPager,上图效果是:两个ViewPager,一个垂直一个水平滑动的,这次主要讲解临界点左右滑动,实际上很简单,只需要自定义ViewPager在事件分发 ...
- ViewPager中呈现前一页和后一页的内容
目录 目录 前言 思路 关键函数 自定义PagerContainer 前言 今天需要实现如下图所示的布局效果: 第一反应是利用ViewDragHelper写一个自定义布局,然后实现拖拽效果.但是如果这 ...
- 可以动态控制左右滑动的ViewPager, 禁止ViewPager左右滑动
可以动态控制左右滑动的ViewPager 禁止ViewPager左右滑动 package com.geaosu.test.act;import android.content.Context; imp ...
- iOS swift5 UISlider 自定义UISlider 修改滑块和滑条的大小
文章目录 UISlider添加事件,点击事件,滑动事件 1.滑动事件:滑动过程中一直触发的事件 2.点击事件:滑动完成,放开手才触发的事件 自定义UISlider 修改滑块和滑条的大小 UISlide ...
- [转]MFC子线程更改图像数据后更新主窗口图像显示方法
程序思路是由外部的输入输出控制卡发出采集图像信号,之后相机采集图像得到图像数据指针,接收图像数据指针创建成图像最后显示到MFC对话框应用程序的Picture Control控件上,同时,为了标定相机位 ...
- VMware找不到父磁盘 父虚拟磁盘在子虚拟磁盘创建之后被修改过。父虚拟磁盘的内容 ID 与子虚拟磁盘中对应的父内容 ID 不匹配
在移动VMDK磁盘或者更改操作系统后,往往会出现"VMware找不到父磁盘 父虚拟磁盘在子虚拟磁盘创建之后被修改过.父虚拟磁盘的内容 ID 与子虚拟磁盘中对应的父内容 ID 不匹配" ...
- 042——VUE中组件之子组件使用$on与$emit事件触发父组件实现购物车功能
<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" ...
- 记录下帮助一位网友解决的关于android子控件的onTouch或onClick和父OnTouch 冲突的问题。
记录下帮助一位网友解决的关于android子控件的onTouch或onClick和父OnTouch 冲突的问题. 参考文章: (1)记录下帮助一位网友解决的关于android子控件的onTouch或o ...
- 【疑点】当子元素全部浮动时,怎么解决父元素塌陷的问题?
[疑点]当子元素全部浮动时,怎么解决父元素塌陷的问题? 参考文章: (1)[疑点]当子元素全部浮动时,怎么解决父元素塌陷的问题? (2)https://www.cnblogs.com/roashley ...
最新文章
- 收录对网站优化起到什么作用?
- ICCV 2019 开源论文 | ShapeMatchingGAN:打造炫酷动态的艺术字
- mysql查询语句不返回_PHP-CI MySQL查询联接表,并且where语句不返回所...
- mybatis if test 判断参数_什么?你还在if判断参数?Spring Boot 注解进行参数校验真香...
- gitlab root
- JS中的Error对象
- python--过滤top命令--之--时间_系统CPU_进程CPU_内存
- 苹果Mac时间追踪工具推荐:Time Sink
- 地理信息系统(第二版)汤国安等编著第一章1.1-1.2节
- Android 基础知识之 VelocityTracker使用(提供手指速度计算,可用于笔迹优化哦)
- ROS学习(9)自定义移动机器人模型Gazebo仿真
- apache 启动失败错误排查
- 捕捉百合网的女同志和echarts展示
- 身份证实名认证API接口
- 数据从hana倒回Oracle的方法,SAP HANA SLT 将Oracle表 数据同步到HANA数据库
- 实现顺序串各种基本运算的算法
- iphone5信号无服务器,iPhone手机信号这么强,原因是开启了“它”,果粉:有救了...
- Cascade R-CNN: Delving into High Quality Object Detection(个人学习笔记)
- 4.基于Android 12 分析系统启动过程
- Struts2(2)_什么是 struts2
热门文章
- EasyUI:datagrid清空所有选择行
- ios调用restful接口_iPhone中调用RESTFUL Service
- ORB-SLAM3 一张图梳理rgbd_tum.cc主流程
- 【一天一个C++小知识】015:c++11线程创建的三种方法
- 关于C++条件编译的细节
- 图像增强处理之:同态滤波与Retinex算法(三)Retinex邻域算法:SSR,MSR,MSRCR
- 单次目标检测器之YOLO I
- JSON 解析之 GSON
- 软件测试行业的职业素养
- 使用BAPI批量修改采购信息记录的税率