前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >RecyclerView滚动到指定位置

RecyclerView滚动到指定位置

作者头像
用户9854323
发布于 2022-06-25 03:03:04
发布于 2022-06-25 03:03:04
1.8K00
代码可运行
举报
文章被收录于专栏:小陈飞砖小陈飞砖
运行总次数:0
代码可运行

1、mLayoutManager

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private void moveToPosition(int position) {
        if (position >= 0) {
            mLayoutManager.scrollToPositionWithOffset(3, 0);
        }
    }

2、LinearSmoothScroller

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mTopSmoothScroller = new TopSmoothScroller(getActivity());


private void smoothScroll(int position) {
        mRecyclerView.postDelayed(new Runnable() {
            @Override
            public void run() {
                if (!isDetached() && position >= 0 && getActivity() != null && mTopSmoothScroller != null) {
                    mTopSmoothScroller.setTargetPosition(position);
                    mLayoutManager.startSmoothScroll(mTopSmoothScroller);
                }
            }
        }, 0);
    }

TopSmoothScroller:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class TopSmoothScroller extends LinearSmoothScroller {

    public TopSmoothScroller(Context context) {
        super(context);
    }

    @Override
    protected int getHorizontalSnapPreference() {
        return SNAP_TO_START;//具体见源码注释
    }

    @Override
    protected int getVerticalSnapPreference() {
        return SNAP_TO_START;//具体见源码注释
    }
}

3、RecyclerView的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scrollBy(int x, int y)

scrollToPosition(int position)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
RecyclerView详解
RecyclerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,但是直接把viewholder的实现封装起来,用户只要实现自己的viewholder就可以了,该组件会自动帮你回收复用每一个item。 它不但变得更精简,也变得更加容易使用,而且更容易组合设计出自己需要的滑动布局。 要使用RecyclerView,请参考 ,其实你也可以只下载一个jar包,添加到自己的libs里就能使用它了,Recycler.jar 使用它的
xiangzhihong
2018/02/01
1.4K0
RecyclerView详解
使用RecyclerView的几个笔记
方法一:重写RecyclerView.ItemDecoration 在getItemOffsets方法中设置传入的值
项勇
2019/12/23
7310
Android 【实现自动轮询的RecycleView】
需求:类似医院或者商场,大屏幕无限轮播item (广告词/广告图…) 代码如下 /** * Created by Xia_焱 on 2017/8/20. */ public class AutoPollRecyclerView extends RecyclerView { private static final long TIME_AUTO_POLL = 32; AutoPollTask autoPollTask; private boolean running; //标
全栈程序员站长
2021/04/07
5300
RecycleView下拉刷新控件的封装(包括下拉刷新和加载更多 )
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details/51473358
程序员徐公
2018/09/18
1.8K0
Android-UI布局---RecyclerView学习(二)利用它做的相册集效果
这个布局下面是高度120dp 宽度填充父窗体,然后整个手机屏幕多余的空间都给了上面的imageview 视图
wust小吴
2019/07/08
1.4K0
RecyclerView滚动到指定位置的一种姿势。
其实这个问题没有什么难度了,下面的两种方式都可以实现,但是效果可能并不是我想要的。
JarvanMo
2018/09/06
5.6K0
教你简单实现RecyclerView自动滚动
当RecyclerView内容过多,超出屏幕的时候,需要让它自己滚动展示数据,尤其是某些Android设备处于高处,或是不可被触摸点击的,这样的情况下,让其自己滚动展示数据尤为重要了 自动滚动的方案有很多种,目前比较常见又最简单的一种是:继承至RecyclerView,并实现runnable方法,每间隔10ms(delayTime)就去执行scrollby(x,y)方法,其中delayTime和x,y的值决定了滚动速度。
程思扬
2023/07/25
1.2K0
Android必知必会 - RecyclerView 恢复上次滚动位置
记录 RecyclerView 滚动位置并恢复是一个很常见的需求,通常需要精准恢复到上次的位置。
他叫自己MR.张
2020/05/28
2.2K0
Android之RecyclerView的StaggeredGridLayoutManager使用
StaggeredGridLayoutManager(瀑布流布局效果),是配合RecyclerView使用的。
李小白是一只喵
2020/12/07
4K0
Android之RecyclerView的StaggeredGridLayoutManager使用
recyclerView 进阶知识
一 初级篇 1. 请参照csdn上我的两篇: a android 5.0新特性 RecyclerView使用初级 b Group分组列表的实现 RecyclerView ,实现不同类型的item组合列表 二 进阶知识点: 1. 设置Item的间距 public class SpaceItemDecoration extends RecyclerView.ItemDecoration { private final int mLeft; private final int mTop;
用户1127566
2018/06/04
1.2K0
Android实现类似中奖信息自动滚动效果
最近需要实现抽奖功能,就需要把中奖的信息,以垂直循环滚动的形式向用户进行展示,这篇主要是使用RecyclerView实现垂直滚动效果,九宫格抽奖功能会在后期写,那现在就来看看实现的过程吧。
SoullessCoder
2019/08/07
3.6K0
Android实现类似中奖信息自动滚动效果
Android开发笔记(一百二十三)下拉刷新布局SwipeRefreshLayout
下拉刷新布局SwipeRefreshLayout是Android又一与时俱进的控件,顾名思义它随着用户手势向下滑动就会触发刷新操作。从实际的下拉效果来看,SwipeRefreshLayout秉承了Android一贯的简洁界面,可定制性并不太好,远不如开源的下拉刷新框架PullToRefresh,但毕竟是原生的控件,用起来比较方便,所以我们还是好好了解了解它。 SwipeRefreshLayout最早在19.1的support-v4库中引入,所以要先确保sdk的“Android Support Library”版本不低于19.1。另外,SwipeRefreshLayout的源码多次升级,因此有新版与旧版之分,两版之间不但支持的方法有区别,而且界面效果也有差异。 下面是SwipeRefreshLayout的常用方法说明: setColorScheme : 设置进度条/圆圈的颜色。(该方法在新版中已被废弃) setOnRefreshListener : 设置刷新监听器。在下拉松开时触发该监听器,需要重写该监听器的onRefresh方法。 setRefreshing : 设置刷新的状态。true表示正在刷新,false表示结束刷新。 isRefreshing : 判断是否正在刷新。 下面是新版增加的方法说明: setColorSchemeColors : 设置进度圆圈的圆环颜色。 setProgressBackgroundColorSchemeColor : 设置进度圆圈的背景颜色。 setProgressViewOffset : 设置进度圆圈的偏移量。第一个参数表示进度圈是否缩放,第二个参数表示进度圈开始出现时距顶端的偏移,第三个参数表示进度圈拉到最大时距顶端的偏移。 setDistanceToTriggerSync : 设置手势向下滑动多少距离才会触发刷新操作。 SwipeRefreshLayout的旧版与新版之间的界面区别主要有: 1、旧版的进度条是布局顶部的一条横线,而新版的布局顶部的一个圆圈。 2、旧版在下拉时,进度条不动,页面会随着向下滑动;而新版在下拉时,页面不再向下滑动,进度圆圈会向下滑动。 这两种显示效果各有千秋,开发者可按照个人喜好决定采用哪种效果。需要注意的是,想要旧版的效果,就得使用旧版的android-support-v4.jar;想要新版的效果,就得使用新版的android-support-v4.jar。新旧两版的v4包见本文末尾的代码工程。 下面是旧版SwipeRefreshLayout的下拉刷新效果截图:
aqi00
2019/01/18
2.2K0
相关推荐
RecyclerView详解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档