在该项目中有3个ViewPager嵌套在一起,父类会拦截子类,导致子类ViewPager在滑动的时候会出问题,此时需要我们自定义ViewPager了(2个父类的构造方法,之前的文章我已说过了)通过重写dispatchTouchEvent()方法,在里面判断事件的类型,以决定父类要不要拦截子类。本项目中,当在第一个页面时如果往右滑或者在最后一个页面往左滑或者上下滑就拦截,其他情况下,由子ViewPager自行处理。另外我学到了,在touchEvent触摸事件里可以得到手指的坐标。代码如下:
本文介绍了解决三个嵌套ViewPager滑动冲突的方法。通过自定义ViewPager并重写dispatchTouchEvent()方法,根据不同条件判断是否拦截子类滑动事件。此外,还介绍了如何在touchEvent中获取手指坐标。
在该项目中有3个ViewPager嵌套在一起,父类会拦截子类,导致子类ViewPager在滑动的时候会出问题,此时需要我们自定义ViewPager了(2个父类的构造方法,之前的文章我已说过了)通过重写dispatchTouchEvent()方法,在里面判断事件的类型,以决定父类要不要拦截子类。本项目中,当在第一个页面时如果往右滑或者在最后一个页面往左滑或者上下滑就拦截,其他情况下,由子ViewPager自行处理。另外我学到了,在touchEvent触摸事件里可以得到手指的坐标。代码如下:
1084
1027
1119
1515

被折叠的 条评论
为什么被折叠?