相关文章推荐
跑龙套的台灯  ·  RecyclerView#smoothScr ...·  4 月前    · 
机灵的香槟  ·  Android RecyclerView ...·  4 月前    · 
行走的消防车  ·  RV 的 scrollToPosition ...·  4 月前    · 
纯真的杯子  ·  RecycleView嵌套子RecycleV ...·  4 月前    · 
爱看球的伤疤  ·  Jetlinks - ...·  1 年前    · 
风流倜傥的小笼包  ·  SELECT INTO·  1 年前    · 
心软的鼠标  ·  BorderLayout_百度百科·  2 年前    · 
英姿勃勃的白开水  ·  k8s-"hostNetwork: ...·  2 年前    · 

关于recyclerview滑向指定位置,肯定会想到scrollToPosition和smoothScrollToPosition两个方法。

源码分析scrollToPosition,最后会调用view的requestLayout,requestLayout是一个非常霸道的方法,会把UI线程全部锁死直到自己完成才会再次解锁。所以这个方法经常调用会出现卡顿。

而smoothScrollToPosition会回调滑动监听的方法,会平滑到你想显示的项。但是只要那一项现在看得到,那它就罢工了。

关于使用场景,有时候想要从列表底部直接返回顶部,这时候发现smoothScrollToPosition效果并不那么理想,甚至不能滑到第一条,这时候简单粗暴的scrollToPosition就比较合适了,并且此项会是第一个可见item。

那有时候横向的recyclerview需要左右切换滑动,这时候就需要平缓的smoothScrollToPosition了。

By LiYing