android RecyclerView 平滑滑动
2020-03-02 本文已影响0人
飞不起的小鸟
private class SmoothScrollLayoutManager extends LinearLayoutManager {
public SmoothScrollLayoutManager(Context context) {
super(context);
}
@Override
public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) {
LinearSmoothScroller smoothScroller = new LinearSmoothScroller(recyclerView.getContext()) {
// 返回:滑过1px时经历的时间(ms)。
@Override
protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
return 150f / displayMetrics.densityDpi;
}
};
smoothScroller.setTargetPosition(position);
startSmoothScroll(smoothScroller);
}
}
使用此方法滑动
rv.smoothScrollToPosition(x);