ZKX's LAB

如何获取 RecyclerView 的滑动距离 recycleview 水平滑动

2021-04-09知识9

用Recyclerview这个滑动好卡,怎么解决 尝试解决图片加载的问题,期待大神们有更好的办法。ListView涉及接口 public static interface AbsListView.OnScrollListener { void onScrollStateChanged(AbsListView view,int scrollState);void onScroll(AbsListView view,int firstVis。

recyclerview 怎么才能左右滑动 关于RecyclerView.OnItemTouchListener的几个方法我也学习了下也不是很难主要是拦截与操作这两个东西一定要配合好,还有就是RecyclerView的滚动状态,因为在RecyclerVIew滚动的时候我们的滑动菜单是不能操作的不然就会产生混乱,在项目开发的时候由于我的Item是有onClick事件的,那么在用户滑出菜单的时候也要把onClick事件给拦截但是又不能拦截菜单的Onclick事件我是通过容器的rect与scrollX的偏移来解决这个问题的可以看源码就知道呢。下面是拦截代码。Overridepublic boolean onInterceptTouchEvent(RecyclerView rv,MotionEvent e){if。mCallback.isEnable())return false;int action=MotionEventCompat.getActionMasked(e);int x=(int)e.getX();int y=(int)e.getY();当我们没有发生drag事件的时候cancel或up事件会发生interceptTouchEvent里面,如果TargetView等于空的时候直接返回false,不拦截事件if(action=MotionEvent.ACTION_CANCEL|action=MotionEvent.ACTION_UP)if(mTargetView=null)return false;boolean needIntercept=false;switch(action){case MotionEvent.ACTION_DOWN:mActivePointerId=MotionEventCompat.getPointerId(e,0);mLastX=(int)e。

如何获取 RecyclerView 的滑动距离 });如代码所述,totalDy的确保存了 RecyclerView 的滑动距离,但是当我向下滑动 RecyclerView,之后插入/删除/移动 Item 的时候,totalDy 就变得不精确了—比如我删除Item,那么totalDy就不能再回归到 0了。尝试的第二个方法是令totalDy=recyclerView.computeVerticalScrollOffset();然而compute方法计算出的并不是滑动的精确距离,stackOverflow上有答案解释其为 item 的平均高度*可见 item 数目。尝试的第三个方法是令totalDy=recyclerView.getChildAt(0).getTop();依靠第一个item的滑动距离来进行动画的设置,但是根据该方法得出的 totalDy 在滑动到一定程度后清零,猜测是因为真正的第 0 个 Child 被 Recycle 掉了。

#recycleview 水平滑动#android recycleview

随机阅读

qrcode
访问手机版