RecyclerView相关细节记录

list_mail.png

item项布局应该设为wrap_content

当item项设置为match_parent时,如果只有一行数据,并且页面展示高度大于一屏幕时,会发现RecyclerView无法滑动,试了各种方法,最后发现是由于此问题导致。

setOnScrollListener 计算高度的问题

当RecyclerView的item增加或者删除的时候,通过累加的方式计算用户滑动的绝对距离会不再准确,可能导致某些业务逻辑的失败,此时可以通过LinearLayoutManager来计算,但是也有局限性,需要每一项都是固定高度,否则也会带来误差。代码如下

public int getScollYDistance() {  
    LinearLayoutManager layoutManager = (LinearLayoutManager) this.getLayoutManager();  
    int position = layoutManager.findFirstVisibleItemPosition();  
    View firstVisiableChildView = layoutManager.findViewByPosition(position);  
    int itemHeight = firstVisiableChildView.getHeight();  
    return (position) * itemHeight - firstVisiableChildView.getTop();  
}  
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容