閱讀本文前,請您先點擊上面的藍色字體「Android掃地僧」,「關注」後再點擊置頂公衆號,優質乾貨,重磅資源第一時間送達。 git
概述1github
相信你們在項目中使用RecyclerView時,常常會遇到這樣的需求:
將RecyclerView滑動到指定位置,或者檢索RecyclerView的某一項(各個項的高度不肯定),而後定位滾動這到一項,將它顯示。面試
下面就講解4種RecyclerView定位滾動的方式及具體效果演示。算法
ScrollBy
recyclerView.scrollBy(x, y)微信
使用:recyclerView.scrollBy(x, y)app
scrollBy(x, y)這個方法是本身去控制移動的距離,單位是像素,因此在使用scrollBy(x, y)須要本身去計算移動的高度或寬度。字體
scrollToPosition
recyclerView.scrollToPosition(position)url
使用: recyclerView.scrollToPosition(position)spa
scrollToPosition(position)這個方法的做用是定位到指定項,就是把你想顯示的項顯示出來,可是在屏幕的什麼位置是無論的,只要那一項如今看獲得了,那它就罷工了!.net
smoothScrollToPosition
recyclerView.smoothScrollToPosition(position)
使用: recyclerView.smoothScrollToPosition(position)
smoothScrollToPosition(position)和scrollToPosition(position)效果基本類似,也是把你想顯示的項顯示出來,只要那一項如今看獲得了,那它就罷工了,不一樣的是smoothScrollToPosition是平滑到你想顯示的項,而scrollToPosition是直接定位顯示!
scrollToPositionWithOffset
scrollToPositionWithOffset(position,0)
使用: ((LinearLayoutManager)recyclerView.getLayoutManager()).scrollToPositionWithOffset(position,0);
主角老是最後才登場,這種方式是定位到指定項若是該項能夠置頂就將其置頂顯示。好比:微信聯繫人的字母索引定位就是採用這種方式實現。
資源下載
https://github.com/z-chu/RecyclerView-Scroll-Sample
動腦學院Android VIP高級課程
BAT大牛談面試Android
玩轉算法面試LeetCode
......
關注公衆號回覆關鍵字便可獲取
本文分享自微信公衆號 - Android掃地僧(Android-Mas)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。