ScrollView巢狀兩個RecyclerView 導致滑動卡頓不流暢的原因
阿新 • • 發佈:2019-01-02
專案中展示兩個RecyclerView ,所以在 ScrollView下嵌套了兩個,完成後發現介面滑動不流暢,還會出現卡頓的情況,嚴重影響了使用者的使用。網上查詢資料,經測試目前有兩種方法解決:
1、recyclerView.setNestedScrollingEnabled(false);
簡單粗暴,在程式碼下加入這行程式碼。
2、自定義ScrollView
public class ScrollView extends ScrollView{ private int downX; private int downY; private int mTouchSlop; public TopicScrollView(Context context) { super(context); mTouchSlop= ViewConfiguration.get(context).getScaledTouchSlop(); } public TopicScrollView(Context context, AttributeSet attrs) { super(context, attrs);
mTouchSlop= ViewConfiguration.get(context).getScaledTouchSlop();
}
public TopicScrollView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mTouchSlop= ViewConfiguration.get(context).getScaledTouchSlop(); } @Override public boolean onInterceptTouchEvent(MotionEvent e) { int action = e.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: downX = (int) e.getRawX(); downY = (int) e.getRawY(); break; case MotionEvent.ACTION_MOVE: int moveY = (int) e.getRawY(); if (Math.abs(moveY - downY) > mTouchSlop) { return true; } } return super.onInterceptTouchEvent(e); } }