当前位置: 首页 > 知识库问答 >
问题:

Android设计库CoordinatorLayout、AppBarLayout和

乌骏
2023-03-14

我使用的是API22上的Android设计库。我想:

  1. 有一个工具栏和一个抽屉布局,里面有一个RecycerView
  2. 使Drawer布局位于工具栏下方;例如,当工具栏可见时,抽屉的主要内容应该在它下面,(左)抽屉也应该在它下面,这样当它展开时,工具栏仍然可见
  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>

共有1个答案

弓晔
2023-03-14

如果你想看到汉堡包图标和箭头的动画,请尝试下面的操作。如果包含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>
 类似资料:
  • 我在将与和组合时遇到布局问题。 问题是,NavigationDrawer及其内容隐藏在工具栏后面。我已经做了很多研究,尝试了很多重组,但没有一个“解决方案”能解决我的问题。 在这个Webm小视频中可以找到一个演示:https://www.dropbox.com/s/i5zfc2x2ts2fws7/navigation_drawer_stackoverflow32523188.webm?dl=0 基

  • 本文向大家介绍详解Android使用CoordinatorLayout+AppBarLayout+CollapsingToolbarLayou实现手指滑动效果,包括了详解Android使用CoordinatorLayout+AppBarLayout+CollapsingToolbarLayou实现手指滑动效果的使用技巧和注意事项,需要的朋友参考一下 CoordinatorLayout+AppBar

  • 我正在开发一个应用程序,其中我使用了AppBarLayout和CollapsingToolbarLayout以及NestedScrollView。我已经成功地实现了这一点,并且运行良好。 现在我想做的是,在嵌套滚动视图上滑动(快速向上滑动)时,它应该完全滚动到顶部。类似地,在向屏幕底部滑动(快速向下滑动)时,它必须平滑地滚动到底部。然而现在,它只能卡在中间,这使它看起来很丑。我已经尝试了许多可用的

  • 本文向大家介绍详解Android使用CoordinatorLayout+AppBarLayout实现拉伸顶部图片功能,包括了详解Android使用CoordinatorLayout+AppBarLayout实现拉伸顶部图片功能的使用技巧和注意事项,需要的朋友参考一下 一、国际惯例,先看下效果图 二、不跟你多bb直接上布局文件代码 三、上java代码 四、重点在于设置AppBarLayout的Beh

  • 我很难想出一个XML布局来达到预期的效果。 工具栏应始终固定在顶部。(绿色矩形) 视差区域(红色矩形),当滚动回收站视图时应该具有视差滚动效果(由红色的上/下箭头指示)。 这是我当前的XML布局 我的XML布局完全将内容向上滚动到窗口之外 如何实现1 -----编辑:我将XML布局修改为以下内容。----- 它在大多数情况下都有效,但视差部分内的视图覆盖了工具栏。 - EDIT2:这个XML布局有

  • 我试图实现一个与Cheesesquare演示应用程序中类似的CollapsingToolBarLayout。 但是,我需要在进入活动时默认折叠工具栏(这样在手机上的横向模式下就不会占用太多空间)。 根据文档,使用标志似乎很容易实现。 但是,我没有获得所需的行为。相反,AppBarLayout一开始显示完全扩展,然后滚动出屏幕,只留下系统栏。 下面是我的布局(对芝士蛋糕的轻微修改):