其實這個問題沒有什麼難度了,下面的兩種方式都可以實現,但是效果可能並不是我想要的。
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表示滾動條...