大佬教程收集整理的这篇文章主要介绍了自定义 SwipeToRefresh 移动 RecyclerView Android 嵌套滚动,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用自定义视图实现自定义滑动以在 RecyclerVIEw
上刷新,以便将带有刷新符号的回收器向下移动。
我在自定义视图中使用 onIntercepttouchEvent
和 ontouchEvent
方法来处理滑动。
@OverrIDe public Boolean onIntercepttouchEvent(MotionEvent ev) { if (!canSwipE) { return false; } else { switch (ev.getActionMasked()) { case MotionEvent.ACTION_DOWN: isDown = true; startY = ev.getRawY(); return true; case MotionEvent.ACTION_MOVE: dy = ev.getRawY() - startY; if (dy < 0) { canSwipe = false; } break; case MotionEvent.ACTION_UP: break; } return true; } } @OverrIDe public Boolean ontouchEvent(MotionEvent event) { if (!canSwipE) { return false; } else { switch (event.getActionMasked()) { case MotionEvent.ACTION_DOWN: isDown = true; startY = event.getRawY(); return true; case MotionEvent.ACTION_MOVE: if (!isDown) { return false; } dy = event.getRawY() - startY; Log.d(tag,"ontouchEvent: dy " + dy); if (dy < 0) { //canSwipe = false; } else { onDrag(dy); } break; case MotionEvent.ACTION_UP: if (!isDown) { return false; } isDown = false; canSwipe = false; if (canBerefreshed) { canBerefreshed = false; onDrop(); } break; } return true; } }
@H_419_13@以及委托给自定义视图的
RecyclerVIEw
逻辑:@OverrIDe public voID onScrolled(@NonNull RecyclerVIEw recyclerVIEw,int dx,int dy) { super.onScrolled(recyclerVIEw,dx,dy); if (dy < 0) { if (layoutManager.findFirstVisibleItemposition() != 0) { swiperefreshVIEw.setCanSwipe(false); } // reached top,recycler delegate but need to touch again else { swiperefreshVIEw.setCanSwipe(true); } } // scroll down else { swiperefreshVIEw.setCanSwipe(false); } } });
@H_419_13@问题:
如果回收器视图到达顶部,则 canSwipe 为真,则父级处理触摸事件。
在自定义视图中,在
ACTION_MOVE
上,我知道 dy我尝试在这种情况下将 canSwipe 设置为 false,这将完全停止触摸,而是将其委托给 在同一触摸事件上。 我也尝试使用 requestdisallowIntercepttouchEvent() 但没有结果。
如何委派触摸同一事件?接受任何不同的解决方法!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的自定义 SwipeToRefresh 移动 RecyclerView Android 嵌套滚动全部内容,希望文章能够帮你解决自定义 SwipeToRefresh 移动 RecyclerView Android 嵌套滚动所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。