Android设计库CoordinatorLayout,AppBarLayout和DrawerLayout

我在API 22上使用Android设计库。我想:

有一个工具栏和一个DrawerLayout里面有一个RecyclerView
>将DrawerLayout放在工具栏下面;例如,当工具栏可见时,抽屉的主要内容应在其下方,并且(左)抽屉也应在其下方,以便扩展时,工具栏仍然可见
>当回滚器视图向下滚动时,将工具栏从屏幕上滚动

这是甚么可能吗?我有问题要结婚#2和#3。现在的方式是,工具栏总是位于抽屉布局的上方,覆盖了回收器中的第一个条目,还有左侧抽屉的顶部。这是我的布局文件(不完整,但显示我的结构):

<android.support.design.widget.CoordinatorLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.widget.DrawerLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RecyclerView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scrollbars="vertical"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"/>

    </android.support.v4.widget.DrawerLayout>

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Toolbar
            android:layout_width="match_parent"
            android:layout_height="?android:attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlways"/>

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

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

它似乎虽然RecyclerView的应用程序:layout_behavior =“@ string / appbar_scrolling_view_behavior”设置没有影响,因为删除时,行为是一样的。

我尝试添加一个RelativeLayout作为CoordinatorLayout的孩子来定义抽屉在工具栏下方,但没有什么似乎工作。

我正在努力实现图书馆的可能性?

如果您想要看到汉堡包图标和箭头的动画,请尝试以下操作。如果您为NavigationView包含顶部边距(layout_marginTop),则将其移动。

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/navigation_drawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

        <android.support.design.widget.AppBarLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_scrollFlags="scroll|enterAlways" />

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

        <!-- main content view -->
        <FrameLayout
            android:id="@+id/content_frame"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@android:color/background_light"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />

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

    <!-- The navigation drawer -->
    <android.support.design.widget.NavigationView
        android:id="@+id/navigation_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="?attr/actionBarSize"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        app:menu="@menu/drawer_menu"/>

</android.support.v4.widget.DrawerLayout>
http://stackoverflow.com/questions/30719369/android-design-library-coordinatorlayout-appbarlayout-and-drawerlayout

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Android设计库CoordinatorLayout,AppBarLayout和DrawerLayout