如何在CoordinatorLayout中以垂直排列将视图放置在其他两个视图之间?

时间:2019-09-17 08:13:10

标签: android android-coordinatorlayout

我有一个布局文件,其中使用了CollapsingToolbarLayoutRecyclerView,并且工作正常。现在,我尝试在ConstraintLayoutAppBarLayout之间放置一个RecylerView。到目前为止,这是我尝试过的:

<androidx.coordinatorlayout.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="272dp"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <com.google.android.material.appbar.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/collapsing_toolbar_layout"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                <!--Some views-->
            </RelativeLayout>

            <androidx.appcompat.widget.Toolbar
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:id="@+id/toolbar"
                app:layout_collapseMode="pin"/>
        </com.google.android.material.appbar.CollapsingToolbarLayout>
    </com.google.android.material.appbar.AppBarLayout>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

            <!--Some views-->
    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/beers_recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

问题是,即使我将其放置在AppBarLayoutRecylerView之间,它仍然位于活动的底部。谁能帮助我在他们之间放置ConstraintLayout视图?谢谢

1 个答案:

答案 0 :(得分:1)

您为什么不尝试将RecyclerView放入ConstraintLayout

CollapsingToolbarLayout下:

<androidx.core.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >
        <ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

      <!--Your views here with constraints-->

        <androidx.recyclerview.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_constraintTop_toBottomOf="your last view"
                 />
    </ConstraintLayout>