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);
上一篇 下一篇

猜你喜欢

热点阅读