RecyclerView滾動到指定位置的一種姿勢。

2021-09-20 05:50:33 字數 1536 閱讀 4512

其實這個問題沒有什麼難度了,下面的兩種方式都可以實現,但是效果可能並不是我想要的。

recyclerview.scrolltoposition(position);

recyclerview.smoothscrolltoposition(position);

因為我的效果是想要指定的position滑動到視窗最頂部,但實際效果卻不是這樣的。

/**

* recyclerview 移動到當前位置,

** @param manager 設定recyclerview對應的manager

* @param n 要跳轉的位置

*/public static void movetoposition(linearlayoutmanager manager, int n)

也有這樣的:

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()

} }});

這個**很多了,看看腦袋都大嘍。

linearsmoothscroller smoothscroller = new linearsmoothscroller(this)

};recyclerview.getlayoutmanager().startsmoothscroll(smoothscroller);

public static final int snap_to_start = -1; 

public static final int snap_to_end = 1;

public static final int snap_to_any = 0;

snap_to_start使子檢視的左側或頂部與父檢視的左側或頂部對齊。

snap_to_end使子檢視的右側或底部與父檢視的右側面或底部對齊。

snap_to_any根據子檢視的當前位置與父布局的關係,決定子檢視是否從頭到尾跟隨。

比如,如果子檢視實際位於recyclerview的左側,snap_to_any和snap_to_start是沒有

差別的。

預設值就是snap_to_any啦。

具體什麼效果大家可以試試啦,本文只是拋磚引玉。

結束,謝謝~~

RecyclerView自動滾動

smoothscrolltoposition 在使用recyclerview的時候,有一些場景需要recyclerview能自動滑動到指定的item,這種情況可以呼叫recyclerview的以下方法來實現 scrolltoposition int position smoothscrolltopo...

ScrollView的滾動監聽,滾動到指定位置等

滾動到底部 滾動到底 if scrolly v.getchildat 0 getmeasuredheight v.getmeasuredheight 滾動到頂 if scrolly 0 完整 如下 svscrollouter.setonscrollchangelistener new nesteds...

滾動條滾動到底部

其實,滾動條是抽象為乙個 點 來對待。在內部div高度高於外部div高度,並且外部div允許出現垂直滾動條時,此時頁面載入後會出現滾動條。理解兩個屬性,scrollheihgt scrolltop,scrollheight為滾動條可以滾動的滾動的距離,即內部div的高度,scrolltop表示滾動條...