水平回收器在协调器布局中查看



我在CoordinatorLayout中制作了一个水平RecyclerView视图,以便RecyclerView的父级appbar_scrolling_view_behavior 。一切都很完美,除非我们尝试在recyclerView上垂直滚动。有没有办法我们可以在 Y 轴上滚动时垂直滚动,在 X 轴上水平滚动。

编辑

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

是的,这很容易做到,检查每个人的滚动状态 回收视图.因此,例如,您有一个片段 - 5 个不同方向的回收视图。当滚动其中的某个时,您希望滚动所有内容。

1) 在每个回收视图上设置 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)。另请查看有关回收视图滚动状态的链接。

最新更新