如何将RecyclerView放在工具栏下方以及TabLayout和ViewPager上方以自定义方式处理对滚动的响应?

Ham*_*ian 17 android android-toolbar android-recyclerview android-coordinatorlayout android-collapsingtoolbarlayout

我想创建一个如下图所示的布局:

在此输入图像描述

CoordinatorLayout包含:

  1. CollapsingToolbarLayout(包含ImageView和工具栏)
  2. RecyclerView
  3. TabLayout
  4. ViewPager(它的每个片段都包含一个RecyclerView)

我想以这种方式回应滚动事件:

  1. CollapsingToolbarLayout通过滚动展开和折叠
  2. 工具栏顶到顶部,直到TabLayout到达顶部
  3. 在该工具栏向上滚动并且TabLayout坚持到顶部

我在使用CollapsingToolbarLayout和TabLayout之间的RecyclerView时遇到问题.我可以在不使用RecyclerView的情况下实现这种布局(我将CollapsingToolbarLayout和TabLayout放在AppBarLayout中,将ViewPager放在它外面,在CoordinatorLayout内).

我的问题:

  1. 我应该把RecyclerView放在哪里?
  2. 我为每个布局设置了哪个&哪里layout_scrollFlags和哪个layout_behavior

似乎AppBarLayout的高度有限.当我将RecyclerView放在AppBarLayout中时,只有RecyclerView的一部分可见,并且TabLayout也会消失.

我阅读了很多像这样的教程和许多像这一个这个的问题,但是没有它们帮助我.

xer*_*x09 0

首先在AppBarLayout其下添加CollapsingToolbarLayoutscrollFlags =“scroll | exitUntilCollapsed”

添加垂直方向LinearLayout并添加CollapsingToolbarLayout

  • FrameLayoutImageView+Toolbar

  • RecyclerView

  • TabLayout