ViewPager2事件冲突问题

Android  2022年9月10日 am8:08发布2年前 (2022)更新 城堡大人
120 0 0

前言

项目中用ViewPager2+Fragment替换ViewPager+Fragment做图片浏览功能,替换完后发现ViewPager2和Fragment中存在事件冲突,比如Fragment存在对图片进双指缩放等处理。

因此,需要我们自己处理冲突事件。

正文

思路:
  1. 重写mAnimViewPager的[父控件]的dispatchTouchEvent事件
  2. 触摸down时不让[父控件]拦截,优先[子控件]处理
  3. 判断是否左右滑动,让[父控件]处理,[父控件]会根据自身情况判断是否拦截事件
  4. 触摸up时恢复默认

PS: 不过,这种方式还是存在偶尔不灵敏

优先不让父控件拦截,先让子控件先处理可以通过如下属性设置

//不允许mAnimViewPager[父控件]拦截事件
mAnimViewPager.requestDisallowInterceptTouchEvent(true);

//mAnimViewPager[父控件]会根据自身情况判断是否拦截事件
mAnimViewPager.requestDisallowInterceptTouchEvent(false);

ViewPager2+Fragment的冲突也是,判读是否Fragment是否需要事件,如果需要事件,就不允许父类拦截,否则就让父类自行处理。

隐藏内容!
付费阅读后才能查看!
3
多个隐藏块只需支付一次

参考文章

  1. ViewPager2 与 ScrollView事件冲突解决 | 码农家园 (codenong.com)
  2. 这可能是ViewPager2滑动冲突最全处理方案 - 掘金 (juejin.cn)

 历史上的今天

  1. 2024: Kotlin数组简介(0条评论)
  2. 2024: lateinit和by lazy简单使用(0条评论)
  3. 2023: OkHttp简单介绍之一(0条评论)
  4. 2021: 对Matrix.mapRect()的理解(0条评论)
  5. 2019: 从维熙:夜空中的木拐(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

张小娴:有女人爱的男人

从来没有光顾过这么“雅致”的的士。三十来岁的司机衣着整齐,精神爽利,与证件上的照片一样,不像大部分的的士司机,相片比真人至少年轻十多岁。车上的椅套光洁如新,车尾玻璃窗下面,放着一件叠好的风衣,数盒柠檬茶、菊花茶,几瓶矿泉水,还有香口珠,我差点以为是拿来卖给乘客的。“是我太太放在这里的。夏天嘛,乘客...

抱歉,125啦下架了

由于国庆前不小心把125la.com域名设置错价钱,被抢注了,没有域名只好下架了!购买了新的域名www.biumall.com进行替换,更名为【笔友城堡】。虽然上架了,但还在慢慢修改,即将推出更简洁的网址导航! 

Android汉字转拼音以及按照[字母][数字][特殊字符]排序

前言多媒体开发时需要对音频文件进行排序,由于媒体文件的命名多样,需要对文件名字进行统一的转换,然后进行排序。排序规则:【字母】-【数字】-【特殊字符】PS: 也存在外国文字(比如韩语,俄语,日语),为了省事,这个默认当成特殊字符隐藏内容!付费阅读后才能查看!¥3 ¥6多个隐藏块只需支付一次...

Android setSystemUiVisibility详解

简介下面是setSystemUiVisibility可以设置的一部分flagSYSTEM_UI_FLAG_LOW_PROFILE 弱化状态栏和导航栏的图标SYSTEM_UI_FLAG_HIDE_NAVIGATION 隐藏导航栏,用户点击屏幕会显示导航栏SYSTEM_UI_FLAG_FUL...

MediaPlayer java层介绍

前言Android中经常用MediaPlayer控制音频/视频文件和流的播放。虽然经常用,但没怎么看其源码,今天有空记录一下,方便自己查阅。正文本篇涉及的源码目录frameworks\base\media\java\android\media\MediaPlayer.javaPS:只是...

汪曾祺:端午的鸭蛋

家乡的端午,很多风俗和外地一样。系百索子。五色的丝线拧成小绳,系在手腕上。丝线是掉色的,洗脸时沾了水,手腕上就印得红一道绿一道的。做香角子。丝线缠成小粽子,里头装了香面,一个一个串起来,挂在帐钩上。贴五毒。红纸剪成五毒,贴在门槛上。贴符。这符是城隍庙送来的。城隍庙的老道士还是我的寄名干爹,他每年端午...