Recyclerview 滚动经过 FAB
Recyclerview scrolling past FAB
我正在使用 recyclerview 并且在我的布局上有一个 FAB。
我希望能够像 Gmail 应用程序那样在最后一个项目的底部给出一点 space,当您滚动到底部时,底部项目右侧的星号仍然可以点击。
我尝试在底部添加一些填充以实现此目的,但滚动条不会一直滚动到底部,停在填充高度处,而 Gmail 版本会。有谁知道如何做到这一点?
<RecyclerView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="90dp"
android:scrollbars="vertical" />
使用它
android:layout_marginBottom = "80dp"
您必须在适配器的末尾添加 "footer"。此页脚将只是一个空白视图,如 android.widget.Space
.
recycler 视图没有任何页眉和页脚的本机选项,但您可以 google 周围找到一些选项。
我开发了一个库,其中包含 header/footer/section 选项的回收站视图:
我还没有上传到 Maven,但你可以在这里获取代码:https://github.com/eyeem/RecyclerViewTools
那么使用就是:
WrapAdapter wrapAdapter = new WrapAdapter(adapter);
wrapAdapter.addFooter(inflater.inflate(R.layout.footer, recycler, false));
recycler.setAdapter(wrapAdapter);
添加页脚的最简单方法是设置一个带有 usesFooter()
标志的自定义适配器,如果为真,则将行数加 1(如果不需要,则始终加一)由其他任何东西添加)。然后在 onCreateViewHolder()
中检查该位置是否是列表中的最后一个,并使用您要添加的填充高度(比如 80dp)膨胀一个空视图
如果在 onBindViewHolder()
中的这个位置,您还应该添加一个 return,因为它是一个空视图,不需要更新其数据。
我正在使用 recyclerview 并且在我的布局上有一个 FAB。 我希望能够像 Gmail 应用程序那样在最后一个项目的底部给出一点 space,当您滚动到底部时,底部项目右侧的星号仍然可以点击。
我尝试在底部添加一些填充以实现此目的,但滚动条不会一直滚动到底部,停在填充高度处,而 Gmail 版本会。有谁知道如何做到这一点?
<RecyclerView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="90dp"
android:scrollbars="vertical" />
使用它
android:layout_marginBottom = "80dp"
您必须在适配器的末尾添加 "footer"。此页脚将只是一个空白视图,如 android.widget.Space
.
recycler 视图没有任何页眉和页脚的本机选项,但您可以 google 周围找到一些选项。
我开发了一个库,其中包含 header/footer/section 选项的回收站视图:
我还没有上传到 Maven,但你可以在这里获取代码:https://github.com/eyeem/RecyclerViewTools
那么使用就是:
WrapAdapter wrapAdapter = new WrapAdapter(adapter);
wrapAdapter.addFooter(inflater.inflate(R.layout.footer, recycler, false));
recycler.setAdapter(wrapAdapter);
添加页脚的最简单方法是设置一个带有 usesFooter()
标志的自定义适配器,如果为真,则将行数加 1(如果不需要,则始终加一)由其他任何东西添加)。然后在 onCreateViewHolder()
中检查该位置是否是列表中的最后一个,并使用您要添加的填充高度(比如 80dp)膨胀一个空视图
如果在 onBindViewHolder()
中的这个位置,您还应该添加一个 return,因为它是一个空视图,不需要更新其数据。