с помощью плавающей кнопки действия в CoordinatorLayout с поведением_overlapTop - PullRequest
0 голосов
/ 23 декабря 2018

Я пытаюсь добавить floating action button в CoordinatorLayout с NestedScrollView, который имеет 56dp из app:behavior_overlapTop.

мой фабричный layout_anchor установлен на Appbarи он прекрасно прячется, когда CollapsingToolbarLayout рухнул, но из-за overlapTop, установленного на NestedScrollView, он находится в плохом положении .. см. изображение ниже:

enter image description here

Вот мой XML:

<com.google.android.material.appbar.AppBarLayout
    android:paddingTop="@dimen/status_margin_top"
    android:id="@+id/app_bar"
    android:clipToPadding="false"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <!--app:contentScrim="@color/red"-->

    <com.google.android.material.appbar.CollapsingToolbarLayout
        android:id="@+id/collapsingToolBar"
        android:layout_width="match_parent"
        android:layout_marginTop="@dimen/behind_status_margin_top"
        android:clipToPadding="false"
        android:layout_height="match_parent"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"

        app:expandedTitleGravity="right|bottom"
        app:expandedTitleMargin="16dp"
        app:expandedTitleMarginBottom="112dp"

        app:collapsedTitleGravity="center_vertical|right"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

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

            <androidx.appcompat.widget.AppCompatImageView
                app:layout_constraintDimensionRatio="H,11:8"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                android:background="@drawable/appbar_gradient"

                android:id="@+id/profile_pic"
                app:srcCompat="@drawable/profile_image"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:scaleType="fitStart"
                android:adjustViewBounds="true" />

        </androidx.constraintlayout.widget.ConstraintLayout>

        <androidx.appcompat.widget.Toolbar
            app:contentInsetRight="56dp"
            android:id="@+id/toolbar"
            app:titleMarginTop="@dimen/status_margin_top"
            android:layout_width="match_parent"
            android:layout_height="?actionBarSize"
            android:minHeight="?actionBarSize"
            app:layout_collapseMode="pin"/>

        <ImageView
            android:layout_marginTop="@dimen/status_margin_top"
            app:layout_collapseMode="pin"
            android:layout_gravity="right"
            app:srcCompat="@drawable/back"
            android:scaleType="center"
            android:layout_width="56dp"
            android:layout_height="56dp" />

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

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

<androidx.core.widget.NestedScrollView
    android:id="@+id/nestedscrollview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:clipToPadding="false"
    android:elevation="16dp"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    app:behavior_overlapTop="56dp">

    <LinearLayout
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <androidx.cardview.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="8dp"
            android:layout_marginRight="8dp"
            android:background="@color/light_white">

            <!-- Content-->

        </androidx.cardview.widget.CardView>

    </LinearLayout>

</androidx.core.widget.NestedScrollView>

<com.google.android.material.floatingactionbutton.FloatingActionButton
    app:layout_anchor="@id/nestedscrollview"
    app:srcCompat="@drawable/camera"
    app:elevation="24dp"
    app:fabSize="normal"
    android:layout_marginStart="24dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

1 Ответ

0 голосов
/ 26 декабря 2018

попробуйте вызвать событие Appbar Collapse, используя this и hide() fab, когда оно рухнуло!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...