Android RecyView 滑动置指定位置

Posted 李盘全

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android RecyView 滑动置指定位置相关的知识,希望对你有一定的参考价值。

1,直接回到顶部

recyview.getLinearLayoutManager().scrollToPositionWithOffset(0, 0);

2,慢慢的回到顶部

private void goTop(int currentPoint) {
        if (currentPoint >= 0) {
            int step = 3;
            if (currentPoint % 10 > 1)
                step = 10;
            if (currentPoint % 5 > 1)
                step = 5;
            if (currentPoint - step > 0) {
                getView().getLinearLayoutManager().scrollToPositionWithOffset(currentPoint - step, 0);
            } else {
                getView().getLinearLayoutManager().scrollToPositionWithOffset(0, 0);
                return;
            }
            Message msg = Message.obtain();
            msg.obj = currentPoint - step;
            msg.what = WHAT_DELAYED_GO_TOP;
            goTopHandler.sendMessageDelayed(msg, 30);
        }
    }

    private static int WHAT_DELAYED_GO_TOP = 212;

    /**
     * 解决内存泄漏问题
     */
    private final static class GoTopHandler extends Handler {
        private SoftReference<IndexForumContentPresenter> softReference;

        private GoTopHandler(IndexForumContentPresenter indexFragmentPresenter) {
            this.softReference = new SoftReference<>(indexFragmentPresenter);
        }

        @Override
        public void handleMessage(Message msg) {
            // 作废重复调用
            if (this.softReference.get() == null)
                return;
            if (msg.what == WHAT_DELAYED_GO_TOP) { // 切换轮播
                // 回调给界面进行切换界面操作
                this.softReference.get().goTop((Integer) msg.obj);
            }
        }
    }
2.1慢慢的回到顶部:调用

int firstPosition = recyview.getLinearLayoutManager().findFirstVisibleItemPosition();
goTop(firstPosition);













































以上是关于Android RecyView 滑动置指定位置的主要内容,如果未能解决你的问题,请参考以下文章

Android-RecyclerView系列 滑动到指定位置

怎么把android控件置底?

Android RecyclerView 滑动到指定位置 RecyclerView 滑动到顶部

android动态添加控件,怎样指定位置?

android动态添加控件,怎样指定位置

cocosscrollview在某个时间内滚动到指定位置