如何按顺序折叠布局?

时间:2017-04-28 09:28:47

标签: android android-coordinatorlayout android-collapsingtoolbarlayout

我正在尝试制作折叠工具栏,其中

  • 工具栏始终位于相同的空间
  • 当我向下滚动时,折叠_2应首先崩溃,并且只有在collapsin_1崩溃后才会崩溃
  • 当我滚动顶部时,collapsing_1始终进入,折叠_2仅在recyclerview内容丰富时才进入。

但是在我的布局中,两个块同时移动(或者如果我将两个相对布局放在同一个折叠布局中,则为一个)

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">

  <android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/white">

    <android.support.design.widget.CollapsingToolbarLayout
      android:id="@+id/collapsing_1"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:minHeight="56dip"
      android:orientation="vertical"
      app:layout_scrollFlags="scroll|enterAlways|exitUntilCollapsed">


      <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="56dip">

      </RelativeLayout>

      <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="56dip"
        android:background="@color/white"
        android:minHeight="56dip"
        app:layout_collapseMode="pin"/>

    </android.support.design.widget.CollapsingToolbarLayout>

    <android.support.design.widget.CollapsingToolbarLayout
      android:id="@+id/collapsing_2"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:layout_scrollFlags="scroll">


      <RelativeLayout 
        android:id="@+id/holder_event"
        android:layout_width="match_parent"
        android:layout_height="195dip"
        app:layout_collapseMode="parallax"
        app:layout_scrollFlags="scroll">

      </RelativeLayout>


    </android.support.design.widget.CollapsingToolbarLayout>
  </android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

1 个答案:

答案 0 :(得分:0)

我以下面的形式获得了它。折叠2是通过边距折叠1下方的位置,它也只有滚动标记。折叠时,一直进入和模式引脚,这使得折叠1保持在原位,直到有额外的未折叠空间

  <android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white">

    <android.support.design.widget.CollapsingToolbarLayout
      android:id="@+id/ll_collapsing"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:minHeight="56dip"
      android:orientation="vertical"
      app:layout_scrollFlags="scroll|exitUntilCollapsed">


      <RelativeLayout
        android:id="@+id/colapsing_2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="285dp"
        app:layout_collapseMode="parallax"
        app:layout_scrollFlags="scroll">
      </RelativeLayout>

      <LinearLayout
        android:id="@+id/colapsing_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="56dip"
        android:orientation="vertical"
        app:layout_collapseMode="pin"
        app:layout_scrollFlags="scroll|enterAlways">

      </LinearLayout>

      <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="56dip"
        android:background="@color/white"
        android:minHeight="56dip"
        app:layout_collapseMode="pin">
      </android.support.v7.widget.Toolbar>
    </android.support.design.widget.CollapsingToolbarLayout>


  </android.support.design.widget.AppBarLayout>