华为Mate 20手机的bug
Xumingrong opened this issue · 22 comments
你好,我在华为Mate 20手机上(EMUI10.1.0、Androd 10),页面滑到最底部,点击屏幕,页面会不自然的向上滚动一段距离。不知道这是什么原因。
能描述清楚一些么?或者截个视频?
我这也有同样的问题 android 10系统,望大佬看看
@lennyup @Xumingrong 我试了安卓10是没问题的啊,Mate 20也没问题。 你们是改了代码么?还是直接跑的demo?
@xmuSistone demo也是有这个问题的,就是 在不吸顶的时候按住上滑或者下滑,就会自动滚一段距离
华为手机有这个问题
@xmuSistone 华为P30复现了,大佬能不能修复下
谁能发个截屏视频? 120809170@qq.com
@xmuSistone 大佬发你了
@xmuSistone 已发
我看下
过来再催一催。。
@youlookwhat 我试了几台安卓10.0的手机,发现都没问题;
请问,这是稳定复现的么?还是有一定的规律性?
PS: 跳跃问题,归结于内联滑动,我初步怀疑是ParentRecyclerView. onNestedPreScroll那里出问题了,猜测是华为手机的computeVerticalScrollOffset有问题;
我估计不一定是安卓10的问题,华为感觉是必现,我用公司的两台华为手机都复现了
我找华为机试下
恩恩 麻烦啦
华为 且为 Android10 的手机能复现,公司另一台华为android9是好的
比较急,希望能尽快解决。。(华为的Android10系统)
@youlookwhat @lennyup @Xumingrong 华为手机的问题已经FIX,DEMO APK也已更新 - 参看今天的两次commit
问题原因:ChildRecyclerView消费Touch事件发起内联滑动,但是却被ParentRecyclerView拦截;华为手机对Touch拦截的阈值较小,也就是说拦截很灵敏;
PS:感谢各位发现此类问题
@xmuSistone 很遗憾问题还存在..
我觉得应该在dispathTouchEvent中进行禁止父控件的touch事件拦截,onTouchEvent不一定会走的
@lennyup 分发和拦截是两码事,你不能弄混的,onTouchEvent是谁来消费,有很严谨的设计;建议仔细看下相关的博客文档,touch事件的流转,水很深;
这个问题 在华为 android 10.0 上 还存在, 给fragment 的itemView 添加OnClickListener 事件后, 华为手机必现。 感觉是parentRecyclerView onInterceptTouchEvent 直接返回false, 没有调用super 事件, 导致 mLastTouchY 没有更新到正确的值, 导致dy值不正确,parentRecyclerView 会有上移的现象