美文网首页
Android - 关于RecyclerView自动滑动的笔记

Android - 关于RecyclerView自动滑动的笔记

作者: xlq | 来源:发表于2019-05-10 20:00 被阅读0次

1. 关于几个滑动的方法:

scrollToPosition: 就近原则,跳转的方式,使其完全显示在屏幕中。若已经完全在屏幕中,则不会改变;

smoothScrollToPosition: 就近原则,滑动的方式,使其完全显示在屏幕中。若已经完全在屏幕中,则不会改变;

scrollToPositionWithOffset: 跳转到屏幕顶部,成为第一个可见的view,参数中带有偏移量,代表和顶部的距离

smoothScrollBy: 滑动到指定坐标的位置。

就近原则是指如果view有部分隐藏在屏幕顶部,则向下滑动使其全部显示,成为第一个可见view。如果有部分隐藏到屏幕底部,则向上滑动使其全部显示,成为最后一个可见view

2. getChildAt(int position)方法返回空:

该方法源码如下:

public View getChildAt(int index) {
        if (index < 0 || index >= mChildrenCount) {
            return null;
        }
        return mChildren[index];
    }

该方法返回的view,其实是在屏幕中的view,并不能返回RecyclerView中的所有子View。所以,如果position的值,大于屏幕中可显示的item总数,则会返回空。

解决方法:改变position的取值,减去第一个可见view的位置。即

position = position - firstVisiblePosition

此时getChildAt()便不会返回空了。

相关文章

网友评论

      本文标题:Android - 关于RecyclerView自动滑动的笔记

      本文链接:https://www.haomeiwen.com/subject/tjdzoqtx.html