Android как скрыть панель инструментов с макетом движения - PullRequest
0 голосов
/ 29 марта 2020

Я пытаюсь скрыть / показать панель инструментов с макетом движения при прокрутке вложенного вида прокрутки во фрагменте.

Я не хочу использовать сворачивающуюся панель инструментов, потому что хочу скрыть / показать всю панель инструментов, а не уменьшать панель инструментов размер или расширение панели инструментов

С компоновкой координатора (не компоновкой движения) она работает хорошо, но с компоновкой движения (замена координатора с движением) она не работает.

Это Activity_main. xml

<androidx.constraintlayout.motion.widget.MotionLayout 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:id="@+id/motion_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/app_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/tool_bar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_scrollFlags="scroll|enterAlwaysCollapsed|enterAlways"
            app:title="TEST" />

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

    <FrameLayout
        android:id="@+id/frame_layout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        app:layout_constraintBottom_toTopOf="@+id/bottom_nav"
        app:layout_constraintTop_toTopOf="parent" />


    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottom_nav"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="?attr/colorAccent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/frame_layout"
        app:menu="@menu/menu" />

</androidx.constraintlayout.motion.widget.MotionLayout>

И фрагмент. xml (что я добавил в framelayout в activity_main. xml)

<androidx.core.widget.NestedScrollView 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:id="@+id/scrollable"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    android:background="#ffffff">

    <TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="16dp"
        android:text="@string/large_text" />

</androidx.core.widget.NestedScrollView>

Причина, по которой я использую макет движения вместо макета координатора, даже если координатор хорошо работает, я добавлю анимацию в Activity_main. xml

Есть ли способ скрыть / показать панель инструментов с макетом движения?

...