码迷,mamicode.com
首页 > 移动开发 > 详细

Android RecyView 滑动置指定位置

时间:2018-07-26 15:08:39      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:final   goto   stp   null   forum   ble   ret   ==   rri   

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 滑动置指定位置

标签:final   goto   stp   null   forum   ble   ret   ==   rri   

原文地址:https://www.cnblogs.com/wf-l5201314/p/9371280.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!