Recyclerview,滾到指定位置

2021-08-14 14:20:33 字數 1135 閱讀 3246

對於recyclerview滾動大家知道有scrollto,scrollby這種類似的方法。

但是大家有沒有發現,當讓recycleview滾動到某一位置會出現如下兩種情況,

1:對於recyclerview滾動到某個position位置,當這個position位置不在當前介面內,recyclerview會滾動到當前position位置。

2:如果這個position已經在這個介面內顯示,recyclerview是不會進行滾動到當前位置。對於這種問題,就需要用recyclerview的scrollby();函式進行距離滾動,通過recyclerview.getchildat(position).gettop()。獲取到當前介面內該view距離頂部的距離,值得注意的是,recyclerview.getchildat()裡面的引數,是當前介面中view的位置,並不是recyclerview整個viewlist中的資料的位置,所以求得這個view位於介面中的位置,需要通過用整個資料項的位置減去介面中第乙個view的位置,就是這個view位於當前介面的位置。

示例**:

示例**:final linearlayoutmanager manager = (linearlayoutmanager) recyclerview.getlayoutmanager();

int fir = manager.findfirstvisibleitemposition();

int end = manager.findlastvisibleitemposition();

final int p = integer.parseint(string);

if (p <= fir) else if (p <= end) else

recyclerview.addonscrolllistener(new recyclerview.onscrolllistener()

} }});

@override

public void

clickposition(int id) else if (position <= end) else

}log.e(tag

, "***********************************");

}

recyclerview,滾到指定位置

對於recyclerview滾動大家知道有scrollto,scrollby這種類似的方法。但是大家有沒有發現,當讓recycleview滾動到某一位置會出現如下兩種情況,1 對於recyclerview滾動到某個position位置,當這個position位置不在當前介面內,recyclervie...

recyclerView動畫解讀

我彷彿在逗我笑,就算繼承了,還是要呼叫setanimator方法,這樣還是會建立viewholder 那麼,自己給view設定動畫是否可以呢?我們知道,recyclerview是通過notifyitem來改變item的狀態的,這就是傳說中的觀察者模式,那麼我們沒有 notifyitemchanged...

RecyclerView 控制項使用

recyclerview的任務僅限於 和定位螢幕上的列表項,對於列表項的內容顯示我們還需要借助adapter子類和viewholder子類。viewholder的作用是容納view檢視。recyclerview工作需要layoutmanager支援。recyclerview檢視建立好後,要立即交給l...