0
  • 最佳答案

    我翻了一下,可能有改,你可以debug一下



    1153952789488054272  评论     打赏       拉大锯
    • deanhu  回复 @拉大锯
      大概debug了一下,发现是smartRefreshLayout也实现了NestedScrollingParent,这样的话,就会一层一层往上传,然后就这样了,如果不加smartRefreshLayout的话,parent的值就会是null,然后就直接返回了,不会调用recycleView滑动
      deanhu 2022-09-19 10:43   回复 1554298627491368961
    • deanhu  回复 @deanhu
      哎, 对于目前我对nestedScrollView的理解来说,解决这个bug还是太难了哭 伤心 大哭 不开心 流泪 桑心
      deanhu 2022-09-19 10:47   回复 1554298627491368961
    • deanhu  回复 @deanhu
      这个应该是涉及到了三层nestedScrollView
      deanhu 2022-09-19 10:48   回复 1554298627491368961
    • deanhu  回复 @拉大锯
      解决了,nestedScrollView如果只有两层的话,在super.onNestedPreScroll的时候就不会再往上传递滑动事件,因为找不到parent,直接返回FALSE,这样也就不会处理滑动。如果3层的话需要加个else,也就是处理之后就不往上传递,不然最顶层的还会分发 事件造成两次滑动,大概这个意思
      deanhu 2022-09-20 11:58   回复 1554298627491368961
  • 已经重写方法消费掉dy了,这个我没看懂?你是哪里消费掉dy了?



    1153952789488054272  评论     打赏       拉大锯
    • deanhu  回复 @拉大锯
      consumed数组不是告诉child那些被parent消费掉了吗?
      deanhu 2022-09-19 08:49   回复 1554298627491368961
    • 拉大锯  回复 @deanhu
      你不是调用了supser吗?你可以去看看super里是不是有修改consumed数组的值,如果有,你不就白改了?
      拉大锯 2022-09-19 09:24   回复 1153952789488054272
    • deanhu  回复 @拉大锯
      没有,目前的问题主要是SmartRefreshLayout的问题,如果不用这个的话,都是正常的
      deanhu 2022-09-19 09:42   回复 1554298627491368961
  • 按照你贴出来的代码,并没有对事件进行拦截,只是对滑动距离进行了打印;事件依然会从NestScrollView 传递到 Recyclerview,并没有出现消费两次的情况,可以具体看一下


      public boolean onInterceptTouchEvent(MotionEvent e) {}这个方法,看看NestScrollview 有没有真的拦截了事件,如果拦截了事件,代表这个事件会被NestScrollView消费掉

    1302969105866940416  评论     打赏       波鲁萨利诺.黄猿
    • deanhu  回复 @波鲁萨利诺.黄猿
      consumed[]数组不是告诉child滑动已经被被消费了吗?
      deanhu 2022-09-18 14:10   回复 1554298627491368961
    • deanhu  回复 @波鲁萨利诺.黄猿
      而且滑动是nestdScrollView和recycleView同步进行了一样的滑动,并且在去掉smartRefreshLayout之后,就会正常,所以我觉得问题就出在smartRefreshLayout这里
      deanhu 2022-09-18 14:12   回复 1554298627491368961
    • 波鲁萨利诺.黄猿  回复 @deanhu
      额建议不要用NestScollview直接包裹Recyclerview ,这里https://blog.csdn.net/china_2014/article/details/111069300这篇文章通过CoordinatorLayout控件来实现相同的效果,效果图链接https://img-blog.csdnimg.cn/20201217154426401.gif,你可以试试
      波鲁萨利诺.黄猿 2022-09-18 15:09   回复 1302969105866940416
    • deanhu  回复 @波鲁萨利诺.黄猿
      嗯嗯,我也知道可以用CoordinatorLayout实现相同的效果,但是就是很想知道这是为什么,哈哈哈哈,有种很想知道其中原理的感觉,知道了会很开心
      deanhu 2022-09-18 15:23   回复 1554298627491368961
    • 波鲁萨利诺.黄猿  回复 @deanhu
      能不能把你的布局贴出来,和具体的代码,感觉看的不太全
      波鲁萨利诺.黄猿 2022-09-18 16:14   回复 1302969105866940416
    • deanhu  回复 @波鲁萨利诺.黄猿
      更新了布局文件,麻烦你看看吧
      deanhu 2022-09-19 08:54   回复 1554298627491368961
相关问题
kissmyass · 安卓
2019-12-11 04:41 713 2
珂珂范范 · 安卓
2019-12-19 00:59 559 2
2020-01-31 00:31 693 2
谁都不许动我的砖 · 安卓 / xml
2020-02-05 19:16 1184 2
谁都不许动我的砖 · 安卓
2020-02-06 06:24 764 2
珂珂范范 · 安卓模拟器
2020-02-21 11:10 842 2
珂珂范范 · 安卓
2020-02-29 23:50 429 2
mercenary · 安卓
2020-03-22 02:34 357 2
哦豁! · 安卓报错
2020-03-22 23:17 684 4
Pancica · 安卓
2020-03-23 02:13 520 2
Pancica · 安卓
2020-03-30 08:22 452 2
kuro · 安卓
2020-04-04 00:17 416 4