RecyclerView——自动滚动效果

MyRecyclerView

public class MyRecyclerView extends RecyclerView {

    Handler mHandler = new Handler();

    public MyRecyclerView(@NonNull Context context) {
        super(context);
    }

    public MyRecyclerView(@NonNull Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    public MyRecyclerView(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

	/**
     * 自动滑动
     *
     * @param h    每次滑动高度
     * @param time 滑动间隔时间
     */
    void starAuto(final int h, final int time) {
        mHandler.post(new Runnable() {
            @Override
            public void run() {
                scrollBy(0, h);
                mHandler.postDelayed(this, time);
            }
        });
    }

    void stopAuto() {
        mHandler.removeCallbacksAndMessages(null);
    }
}

使用

recyclerView.starAuto(1, 10);

补充

  • 无限滚动效果 和 触底事件详见 [【快速使用】RecyclerView(LinearLayoutManager)] 底部(https://blog.csdn.net/qq_36881363/article/details/106302248)

你可能感兴趣的:(Android,自定义控件)