ViewPager嵌套ViewPager后,滑动事件没法在子ViewPager里面响应。

解决办法是自定义子ViewPager。

package com.lwj.app.customview;import android.content.Context;
import android.graphics.PointF;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;public class ChildViewPager extends ViewPager{/** 触摸时按下的点 **/PointF downP = new PointF();/** 触摸时当前的点 **/PointF curP = new PointF();OnSingleTouchListener onSingleTouchListener;public ChildViewPager(Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stub}public ChildViewPager(Context context) {super(context);// TODO Auto-generated constructor stub}@Overridepublic boolean onInterceptTouchEvent(MotionEvent arg0) {// TODO Auto-generated method stub//当拦截触摸事件到达此位置的时候,返回true,//说明将onTouch拦截在此控件,进而执行此控件的onTouchEventreturn true;}@Overridepublic boolean onTouchEvent(MotionEvent arg0) {// TODO Auto-generated method stub//每次进行onTouch事件都记录当前的按下的坐标curP.x = arg0.getX();curP.y = arg0.getY();if(arg0.getAction() == MotionEvent.ACTION_DOWN){//记录按下时候的坐标//切记不可用 downP = curP ,这样在改变curP的时候,downP也会改变downP.x = arg0.getX();downP.y = arg0.getY();//此句代码是为了通知他的父ViewPager现在进行的是本控件的操作,不要对我的操作进行干扰getParent().requestDisallowInterceptTouchEvent(true);}if(arg0.getAction() == MotionEvent.ACTION_MOVE){//此句代码是为了通知他的父ViewPager现在进行的是本控件的操作,不要对我的操作进行干扰getParent().requestDisallowInterceptTouchEvent(true);}if(arg0.getAction() == MotionEvent.ACTION_UP){//在up时判断是否按下和松手的坐标为一个点//如果是一个点,将执行点击事件,这是我自己写的点击事件,而不是onclickif(downP.x==curP.x && downP.y==curP.y){onSingleTouch();return true;}}return super.onTouchEvent(arg0);}/*** 单击*/public void onSingleTouch() {if (onSingleTouchListener!= null) {onSingleTouchListener.onSingleTouch();}}/*** 创建点击事件接口* @author wanpg**/public interface OnSingleTouchListener {public void onSingleTouch();}public void setOnSingleTouchListener(OnSingleTouchListener onSingleTouchListener) {this.onSingleTouchListener = onSingleTouchListener;}}

布局文件使用


<com.lwj.app.customview.ChildViewPagerandroid:id="@+id/vp"android:layout_width="fill_parent"android:layout_height="fill_parent"/>

ViewPager嵌套ViewPager后子ViewPager滑动不正常问题相关推荐

  1. ViewPager设置setPageTransformer后RecyclerView垂直滑动问题

    viewPager设置setPageTransformer后RecyclerView垂直滑动问题中. 处理方法: 在垂直滑动中禁止viewpager滑动 viewPager.setPageTransf ...

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

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

  3. ViewPager相互嵌套,导致子ViewPager无法滑动,且子ViewPager中的view无法被点击

        场景:当使用ViewPager进行嵌套的时候,子viewPager是无法进行嵌套的,因此我们要重写ViewPager类,并重写里层viewPager类中的onTouchEvent方法,调用其父 ...

  4. ViewPager嵌套ViewPager 滑动冲突

    我在网上找了许多解决方法.但都不是很完美. 当进入子viewpager确实解决了子viewpager的滑动,但是父viewpager就失效了.现在奉上修改过的代码给大家. //别忘了布局引用也要变 / ...

  5. Android之viewPager嵌套viewPager无法滑动子viewPager

    现在最头疼的事就是需求不明确,这不,有遇到你个奇葩需求,父viewPager总共有三个选项卡,第一个选项卡里嵌入一个子viewPager,这时候问题就来了,子viewPager无法滑动,我猜的事父vi ...

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

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

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

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

  8. Android ViewPager嵌套ViewPager+Fragment问题

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

  9. viewpager嵌套viewpager

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

最新文章

  1. linux的/etc/hosts的作用
  2. 我在ChinaUnix上看到的有点点用的帖子
  3. tensorflow saver_TensorFlow: Model Persistence
  4. long 雪花算法_海量数据分库分表方案(一)算法方案
  5. 【Linux】一步一步学Linux——ssh-copy-id命令(180)
  6. 解密华为云原生媒体网络如何保障实时音视频服务质量
  7. windows配置solr5.5.2(不通过tomcat,使用内置jetty)
  8. MIME协议及源邮件格式分析
  9. torchtext.data.Field
  10. 入口函数ufusr()的示例 3.2.2
  11. 微信公众号运营推广基础入门知识
  12. 最小二乘法曲线拟合(MATLAB)
  13. L1、L2正则regularization和weight decay
  14. 为什么pdf文件在一个计算机上能打开,拷贝到别的计算机上就打不开,显示文件已损坏?,pdf文件在电脑上打不开怎么办...
  15. 因子图优化原理(iSAM、iSAM2论文解析)
  16. php求三个数中间值
  17. 搜狗总收录批量查询教程 如何有效提高搜狗总收录的方法详解
  18. 转载唐凤的博客 :: Perl 6 十周年慶
  19. 黑马程序员-第一天接触Android,环境搭建
  20. [国产PLC]耐特过硬PLC在太阳能热水器系统中如何运用

热门文章

  1. ICPR 2022 | 多模态字幕识别竞赛正式启动!
  2. 杰理之省电容MIC收敛值【篇】
  3. springboot-security安全登录
  4. Java线程状态详解
  5. pfx文件解析私钥和公钥
  6. MySQL期末试题的答案
  7. 配置多SessionFactory
  8. java算法:逻辑回归和线性回归
  9. 如何将录音内容转换成文字呢?
  10. 转换 wav,ape,flac 音乐为 mp3,m4a(mp4) 格式