web-dev-qa-db-ja.com

Android RecyclerViewおよびLayoutManagerでscrollVerticallyBy()を使用する方法は?

リサイクラービューでy方向に一定量のピクセルをスクロールしたいと思います。 scrollToPosition()scrollToPositionWithOffset()のようなメソッドがあることを私は知っています。しかし、それらは私のニーズに本当に合いません。

LayoutManagerがメソッドscrollVerticallyBy(int dy, RecyclerView.Recycler recycler, RecyclerView.State state)を提供しているのを見ました。それは私が欲しいもののように聞こえます。

どうすれば使えますか? recyclerstateとは何ですか?オンラインで例が見つからなかったので、いくつかのコードが役に立ちます。

17
user2426316

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にも当てはまります。

12
rubengees