RecycleView 怎么平滑滚动到某位置;尝试兼对比小伙伴们提到的方法,先将个人认为的具体解决办法展示如下:
RecyclerView.SmoothScroller smoothScroller = new LinearSmoothScroller(context) {
@Override protected int getVerticalSnapPreference() {
return LinearSmoothScroller.SNAP_TO_START;
}
};
smoothScroller.setTargetPosition(position);
layoutManager.startSmoothScroll(smoothScroller);
其实方法也就是替换个RecycleView.SmoothScroller的属性;
很简单就完成了实现,我这里在唠叨下问题背景与解决过程以及一些建议,有时间与兴趣的小伙伴可以随便看看
项目早期一直用的ListView实现的大多列表,其实早就感觉性能不如RecyclerView,再加上ListView里的平滑滚动效果也不理想,虽然一系列处理与判断,还是偶尔偏差。
在真正RecyclerView替换ListView的时候,发现RecycleView的平滑滚动没有ListView的方法;
看了一些其他小伙伴的方法,如下:(想判断滚动位置,或者动画实现RecyclerView的平滑滚动,有点吃力不讨好。)
https://tb-yangshu.github.io/2016/12/29/recyclerview_scroll_analyze/http://blog.csdn.net/u014527323/article/details/69389529
http://angeldevil.me/2015/09/08/The-smoothScrollToPosition-duration-of-RecyclerView/
http://www.jianshu.com/p/b3edc873b42d
最上面的采用的方法来自于
下面第二个方法提到 RecyclerView有良好的扩展性,只需要。。。见本文顶部,真是深得我心
建议小伙伴:
多看多想,更重要的是多实操
百度还可以,但Google往往更靠谱
多关注点github 如
https://github.com/zhaozhenqiang
https://github.com/hongyangAndroid
自己的方法总结什么的,最好也多多分享给小伙伴