我正在尝试使用 CoordinatorLayout 和 CollapsingToolbarLayout 创建一些组合布局。
在第一种状态下,当我们在最顶部的页面上,并且还没有滚动时,我希望工具栏如下所示展开(是的,我做到了):
在第二种状态下,当开始向下滚动时,图像和工具栏应该会消失,如下图所示(仅显示选项卡):
在最后一个状态下,一旦我在列表中的某个位置(但不是列表顶部),我想开始向上滚动,一旦我开始向上滚动,我希望工具栏(而不是带有图像的扩展工具栏)到开始 whowing,如下图(如果没有到达列表顶部,图像不会显示,只有工具栏):
我能够达到第一个状态,但其他 2 个状态是有问题的,一旦在 CollapsingToolbarLayout 内部实现工具栏,我可以在 CollapsingToolbarLayout 组件之外用它做什么的灵活性尚不清楚。我不能让工具栏隐藏,如果我这样做,那么它只会在我到达顶部时显示。
无论如何,我当前的 XML(如下所示)处于实现第一张图片的状态,但是一旦我开始向下滚动,工具栏就会停留在顶部并且不会隐藏。注意:我必须告诉工具栏保持“固定”,因为如果我不这样做,工具栏内的信息就会消失,只会显示一个空的工具栏(这是另一篇文章,但知道为什么会发生这种情况仍然很有趣?) .
这是我当前的xml:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/benefit_coordinator_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_material_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/main.collapsing"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
>
<include
android:id="@+id/toolbar_search_container"
layout="@layout/search_box"
android:layout_height="192dp"
android:layout_width="match_parent"
app:layout_collapseMode="parallax"
/>
<include
android:id="@+id/toolbar_benefit"
layout="@layout/toolbar_main"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:contentScrim="?attr/colorPrimary"
/>
</android.support.design.widget.CollapsingToolbarLayout>
<android.support.design.widget.TabLayout
android:id="@+id/benefit_tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primaryColor"
app:tabIndicatorColor="@color/accentColor"
app:tabSelectedTextColor="@android:color/white"
app:tabTextColor="@android:color/black"
app:tabIndicatorHeight="4dp" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/benefit_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<include
layout="@layout/floating_btn_benefits"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="16dp"
/>
</android.support.design.widget.CoordinatorLayou