如何在 coordinatorLayout 中垂直定位布局

How to position layouts vertically in coordinatorLayout

我想在我的 fragment.However 中实现折叠布局我的 collapsingLayout、framelayout(容器)和 tablayout 的位置就像它们放置在框架布局中一样。
我想在顶部制作 Collapsinglayout,在它下面制作 tablayout,在 tablayout 下面制作框架布局容器,保留折叠动画。 (frame布局容器承载由recyclerview组成的各种fragment[因为varioius自定义手势,不考虑viewpager])

fragment_layout.xml

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/appBgColor"
    android:clickable="true"
    tools:context="com.lunchpoint.fragments.RestaurantFragment"

    >
  <android.support.design.widget.AppBarLayout
      android:id="@+id/id_appbar"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@android:color/transparent"
      android:fitsSystemWindows="true"
      >

    <android.support.design.widget.CollapsingToolbarLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginEnd="64dp"
        app:expandedTitleMarginStart="48dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        >

      <RelativeLayout
          android:layout_width="match_parent"
          android:layout_height="310dip"
          >
       <!--Header layout-->
      </RelativeLayout>

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

  </android.support.design.widget.AppBarLayout>
  <android.support.design.widget.TabLayout
      android:id="@+id/tabs"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"

      android:layout_marginEnd="16dip"
      android:layout_marginLeft="16dip"
      android:layout_marginRight="16dip"
      android:layout_marginStart="16dip"
      app:tabGravity="fill"
      app:tabMinWidth="0dip"
      app:tabMode="scrollable"
      app:tabPaddingEnd="1dp"
      app:tabPaddingStart="1dp"
      />

  <FrameLayout

      android:id="@+id/container"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      />

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

CoordinatorLayout 是一个强大的 FrameLayout:所有子元素都可以通过行为或锚点定义它们的位置。查看更多文档,例如 this.

您可以轻松地结合使用锚点属性和 layout_gravity 来实现这一点。参见,例如:http://ponshere.in/blog/android-coordinator-layout-gravity-and-alignment/