如何在Android RecyclerView和LayoutManager中使用scrollVerticallyBy()?

时间:2015-06-06 13:33:36

标签: android scroll layout-manager android-recyclerview

我想在recyclelerview中按y方向滚动一定数量的像素。我知道有scrollToPosition()scrollToPositionWithOffset()等方法。但是,那些并不符合我的需要。

我看到LayoutManager提供了方法scrollVerticallyBy(int dy, RecyclerView.Recycler recycler, RecyclerView.State state)。这听起来像我想要的。

我该如何使用它?什么是recyclerstate?我没有在网上找到任何例子,所以有些代码会很有用。

1 个答案:

答案 0 :(得分:9)

我不知道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同样如此。