使用 RecyclerView 进行双向滚动
Two-way scrolling with RecyclerView
如何在一侧(水平/垂直)显示非常大的项目列表,并允许其自由滚动/拖动 - 如 Google 表格?
我试过使用 NestedScrollView
和 RecyclerView
,但是你一次只能在一个方向上滚动,我需要它能够自由拖动(不捏/缩放功能是必需的,但如果可以完成,那就是一个奖励)。
这是我尝试过的 GIF,它可以工作,但绝对不是我要找的。
这是布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
layout="@layout/include_toolbar"
android:id="@+id/toolbar" />
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_biscroll"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
您是否尝试过将回收站视图放入滚动视图中?
我终于得到了答案:使用自定义 LayoutManager 实现。
我删除了外部 ScrollView
,在我的代码中添加了 FixedGridLayoutManager
,然后将其用作 RecyclerView 的布局管理器:
FixedGridLayoutManager layoutManager = new FixedGridLayoutManager();
layoutManager.setTotalColumnCount(adapter.getItemCount()); // This probably needs to update when item count is changed
recyclerView.setLayoutManager(layoutManager);
如何在一侧(水平/垂直)显示非常大的项目列表,并允许其自由滚动/拖动 - 如 Google 表格?
我试过使用 NestedScrollView
和 RecyclerView
,但是你一次只能在一个方向上滚动,我需要它能够自由拖动(不捏/缩放功能是必需的,但如果可以完成,那就是一个奖励)。
这是我尝试过的 GIF,它可以工作,但绝对不是我要找的。
这是布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include
layout="@layout/include_toolbar"
android:id="@+id/toolbar" />
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_biscroll"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.v4.widget.NestedScrollView>
</LinearLayout>
您是否尝试过将回收站视图放入滚动视图中?
我终于得到了答案:使用自定义 LayoutManager 实现。
我删除了外部 ScrollView
,在我的代码中添加了 FixedGridLayoutManager
,然后将其用作 RecyclerView 的布局管理器:
FixedGridLayoutManager layoutManager = new FixedGridLayoutManager();
layoutManager.setTotalColumnCount(adapter.getItemCount()); // This probably needs to update when item count is changed
recyclerView.setLayoutManager(layoutManager);