リサイクラービューでy方向に一定量のピクセルをスクロールしたいと思います。 scrollToPosition()
やscrollToPositionWithOffset()
のようなメソッドがあることを私は知っています。しかし、それらは私のニーズに本当に合いません。
LayoutManager
がメソッドscrollVerticallyBy(int dy, RecyclerView.Recycler recycler, RecyclerView.State state)
を提供しているのを見ました。それは私が欲しいもののように聞こえます。
どうすれば使えますか? recycler
とstate
とは何ですか?オンラインで例が見つからなかったので、いくつかのコードが役に立ちます。
scrollVerticallyBy
についてはわかりません。これは、RecyclerView
の内部メソッドのように見えます。 scrollBy(int x, int y)
メソッドとsmoothScrollBy(int dx, int dy)
メソッドを探しているだけではありませんか?
ドキュメントから:
public void scrollBy(int x、int y)
ビューのスクロール位置を移動します。これにより、onScrollChanged(int、int、int、int)が呼び出され、ビューが無効になります。
パラメーター
x int:水平方向にスクロールするピクセル数
y int:垂直方向にスクロールするピクセル数
次のような方法を使用できます。
recyclerView.scrollBy(0, 50); //Scroll 50 pixels down
recyclerView.scrollBy(0, -50); //Scroll 50 pixels up
同じことがsmoothScrollBy
にも当てはまります。