Android进阶八:RecyclerView自动滚动

本文介绍了如何在Android中实现RecyclerView的自动滚动,并通过调整`smoothScrollToPosition()`速度以优化用户体验。通过重写LinearSmoothScroller的`calculateSpeedPerPixel()`方法,可以根据滑动的item数量动态调整滑动速度,从而实现平滑且合适的滚动效果。
摘要由CSDN通过智能技术生成

smoothScrollToPosition()

在使用RecyclerView的时候,有一些场景需要RecyclerView能自动滑动到指定的item,这种情况可以调用RecyclerView的以下方法来实现:

scrollToPosition(int position)

smoothScrollToPosition(int position)

这两个方法传入需要滑动到的item的position就可以实现跳转到相应的item,区别是scrollToPosition()会立即跳转到相应item,不会有滑动的效果,smoothScrollToPosition()跳转的同时,会有滑动的效果,但是滑动速度很快,用户体验效果不好,如何能控制速度达到一个好的效果呢?

先来看下smoothScrollToPosition()的源码:

    public void smoothScrollToPosition(int position) {
        if (mLayoutFrozen) {
            return;
        }
        if (mLayout == null) {
            Log.e(TAG, "Cannot smooth scroll without a LayoutManager set. " +
                    "Call setLayoutManager with a non-null argument."
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值