关于解决多个viewpager嵌套所遇到的事件传递问题

本文探讨了在Android开发中遇到的多个ViewPager嵌套导致的滑动冲突问题,介绍了事件传递机制,并提供了重写ViewPager以解决冲突的方案。通过监听子ViewPager边缘滑动,拦截并处理事件,实现父ViewPager的平滑切换。
摘要由CSDN通过智能技术生成

    在开发时候我们会有一种情景,类似于新闻客户端的,就是在主页面的viewpager里面的view或者frament中再嵌套了一个viewpager,这时候如果不做任何处理的话,我们父view中的viewpager和子view的viewpager会产生冲突,比如滑动的卡顿等。

       所以为了解决这个情况我们需要了解一下安卓中的事件传递机制。如果有对安卓的事件传递机制的人不那么熟悉的话,那请自己去研究一下,在这里我只简单说一下时间传递机制的基本原理。



说明:

首先触摸事件发生时(ACTION_DOWN),由系统调用Activity的dispatchTouchEvent方法,分发该事件。根据触摸事件的坐标,将此事件传递给out的dispatchTouchEvent处理,out则调用onInterceptTouchEvent 判断事件是由自己处理,还是继续分发给子View。此处由于out不处理Touch事件,故根据事件发生坐标&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值