Как сделать так, чтобы содержимое отображалось за панелью инструментов не полной ширины (как в новом Gmail или Google App) - PullRequest
1 голос
/ 07 апреля 2019

Я пытаюсь реализовать панель инструментов, которая имеет не полную ширину (с полями со всех сторон 16dp), как показано ниже:

Gmail. Обратите внимание, что представление реселлера можно увидеть, прокручивая позади.панель инструментов Gmail

Google App - то же самое, карты можно увидеть за панелью инструментов.Google App

Кроме того, эти панели инструментов скрываются при прокрутке вниз и отображаются при прокрутке вверх.

Содержимое панели инструментов не является тем, о чем я сейчас беспокоюсь.

Я предполагаю, что это делается с использованием макета координатора, поэтому у меня есть скелет:

  • Макет координатора
    • AppBarLayout
      • Панель инструментов
    • NestedScrollView (appbar_scrolling_view_behavior)
      • ConstraintLayout
<androidx.coordinatorlayout.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:animateLayoutChanges="true"
    tools:context=".MainContentFragment">

    <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:layout_margin="32dp"
        android:background="@android:color/transparent"
        android:layout_height="wrap_content">

        <androidx.appcompat.widget.Toolbar
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@android:color/holo_red_dark"
            app:layout_scrollFlags="scroll|enterAlways">


        </androidx.appcompat.widget.Toolbar>

    </com.google.android.material.appbar.AppBarLayout>

    <androidx.core.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        ...

Этовывод перед прокруткой output

и после прокрутки вниз output2

Как вы можете видеть, пространство вне панели инструментов не прозрачно, но имеет серый фон, так как содержимое переходит подэто и не видно.

...