【问题标题】:Horizontal RecyclerView in CoordinatorLayout?CoordinatorLayout中的水平RecyclerView?
【发布时间】:2016-08-15 12:50:14
【问题描述】:

我在CoordinatorLayout 中使用水平RecyclerView 制作了一个视图,这样RecyclerView 的父级是appbar_scrolling_view_behavior。一切都很完美,除非我们尝试在recyclerView 上垂直滚动。有没有一种方法可以让我们在 Y 轴和 X 轴水平滚动的同时垂直滚动。

编辑

片段中有两个RecyclerView,最终用于CoordinatorLayout。现在第一个recyclerView 是水平的,第二个是垂直的。当我在第一个RecyclerView 上水平滚动时,它运行良好,当我在第二个RecyclerView 上垂直滚动时,它运行良好。现在的问题是,当我尝试在第一个 RecyclerView 上垂直滚动时,父滚动应该可以工作。 谢谢。

【问题讨论】:

  • 我没有得到你想要的。根据您对@Harshad 回答的评论,您希望 recyclerview 可以垂直滚动,而 recyclerview 的行可以水平滚动,对吗?
  • 请完成编辑..
  • 您找到解决方案了吗?

标签: android android-layout android-recyclerview android-coordinatorlayout


【解决方案1】:

是的,这很容易做到,检查每个 RecycleView 的滚动状态。 因此,例如,您有一个 Fragment - 5 个不同方向的 RecycleViews。当您从其中滚动一些时,您想要全部滚动。

1) 在每个 RecycleView 上设置 onScrollChangeListener。

mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() 
{
    @Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) 
    {
        mRecycle1.smoothScrollBy(dx, dy); // Or use any other behaviour 
        mRecycle2.smoothScrollBy(dx, dy); 
        mRecycle3.smoothScrollBy(dx, dy); 
        ......
    }
}

编辑:

这适用于任何轴(X 和 Y)。还要检查 this link 关于 RecycleView 滚动状态。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 2015-12-03
  • 2019-01-20
  • 1970-01-01
  • 2016-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多