2023年7月13日发(作者:)
NestedScrollView+Recyclerview下滑卡顿解决⽅法⼤家在进⾏安卓开发⽤到NestedScrollView+Recyclerview的时候,经常出现的情况就是加载下滑的时候没有任何问题,很流畅,但是在下滑以后明显出现了卡顿的情况,⼩编根绝这个问题,给⼤家再来的解决⽅法,⼀起来学习下。我们先来看下这个BUG的表现:1.滑动卡顿,2.加载下滑时流畅,下滑时明显的卡顿3.进⼊页⾯时直接加载RecyclerView部分的内容(这⾥我理解为控件惯性,不知道对不对-------尴尬)下⾯我们⼀⼀来解决这些问题在开发项⽬中,涉及到到商品详情页,新闻详情页等的页⾯时,通常情况下,商品详情页的底部会附上商品的评论或者是相关商品的的推荐,或者是相关性的⽂章.那么我们就会⽤到列表的RecyclerView,在头部可能是⼀些⽐较复杂的多种界⾯,可能采⽤⽐较简单的⽅法来处理,那就是NestedScrollView+Recyclerview,这这种⽅式⽐较直观和⽅便操作.⽐如像下⾯的代码
以上是⼩编测试过的解决⽅法,接下来,我们再给⼤家分享⼀篇简单的⽅法代码: 最开始使⽤ScrollView的时候嵌套ListView会出现item显⽰不全等⼀些问题,现在google提供NestedScrollView已经可以解决该问题,但是在使⽤NestedScrollView嵌套RecyclerView的时候会发现我们在RecyclerView上滑动的时候没有了滚动的效果,查看⽂档找到的解决办法: LinearLayoutManager layoutManager = new LinearLayoutManager(this); othScrollbarEnabled(true); oMeasureEnabled(true); outManager(layoutManager); FixedSize(true); tedScrollingEnabled(false);就在⼩编完稿的时候,⼜发现了两种⽅法,⼤神真的是多啊,⼀起整理后分享给你当ScrollView嵌套RecyclerView时,会出现滑动卡顿,不平滑的效果。对此有两种解决⽅案。⽅案⼀设置RecyclerView属性⽅法FixedSize(true); tedScrollingEnabled(false);或者直接在recycleview中 添加属性android:nestedScrollingEnabled="false"⽅案⼆如果⽅案⼀⽆效,不妨试试重写ScrollView的onInterceptTouchEvent()⽅法,强制让其触摸事件都交给其⼦控件去处理public class RecycleScrollView extends ScrollView {private int downX;private int downY;private int mTouchSlop;public RecycleScrollView(Context context) {super(context);mTouchSlop = (context).getScaledTouchSlop();}public RecycleScrollView(Context context, AttributeSet attrs) {super(context, attrs);mTouchSlop = (context).getScaledTouchSlop();}public RecycleScrollView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);mTouchSlop = (context).getScaledTouchSlop();}@Overridepublic boolean onInterceptTouchEvent(MotionEvent e) {int action = ion();switch (action) {case _DOWN:downX = (int) X();downY = (int) Y();break;case _MOVE:int moveY = (int) Y();if ((moveY - downY) > mTouchSlop) {return true;}}return rceptTouchEvent(e);}}通过以上操作,界⾯就不会再卡顿了,还原了原本的惯性。以上就是关于NestedScrollView+Recyclerview下滑卡顿的所有⽅法,希望我们整理的东西能够真正帮助到你,喜欢的话就收藏⼀下吧。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1689214924a222117.html
评论列表(0条)