Coordinator Layout、CollapsingToolbarLayout、NestedScrollViewを使用して特定のビューを固定し、スクロールします.


一定の部分画面では、特定のビューを上部に固定し、下部にスクロールする機能を実現するために、Coordinator LayoutとNestedScrollViewを使用しています

ビューの構造は上と同じ(絵画の実力が合わない...ハハ)
上部はToolbarを固定し、下部はCoordinator Layout折りたたみ部分、TabLayout、ViewPager 2を囲む
画面を下に置き、TabLayoutをToolbarの下に固定し、ViewPagerの画面をスクロールします.
 <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <!-- Tool bar -->
    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent"
        app:contentInsetStartWithNavigation="0dp"
        android:background="@color/white"
        app:titleTextColor="@color/black"
        style="@style/ToolbarStyle.Dark"
        />
    <!-- -->

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintTop_toBottomOf="@id/toolbar"
        app:layout_constraintBottom_toBottomOf="parent">

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

            <com.google.android.material.appbar.CollapsingToolbarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_scrollFlags="scroll|exitUntilCollapsed">

                <androidx.constraintlayout.widget.ConstraintLayout    
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    app:layout_collapseMode="parallax">
                   
                        <!-- 접혀지는 View는 이 부분 -->
                  <!-- coolapseMode 설정해주기!! -->
               
                </androidx.constraintlayout.widget.ConstraintLayout>


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


            <androidx.constraintlayout.widget.ConstraintLayout
                android:id="@+id/빈 공간 확보 용도(필수x)"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <View
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    app:layout_constraintTop_toTopOf="parent"
                    app:layout_constraintDimensionRatio="360:22"/>
            </androidx.constraintlayout.widget.ConstraintLayout>


            <com.google.android.material.tabs.TabLayout
                android:id="@+id/tabLayout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>

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

      
        <androidx.viewpager2.widget.ViewPager2
            android:id="@+id/viewPager2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>



    </androidx.coordinatorlayout.widget.CoordinatorLayout>

</androidx.constraintlayout.widget.ConstraintLayout>
xml構造は次のようになります.以下は、ViewPagerに表示されるクリップのxmlです.
<androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <androidx.core.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent">
          
          <!-- NestedScrollView 로 설정하기!! -->

            <androidx.constraintlayout.widget.ConstraintLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent">

                 <!-- View 작업 공간 -->
   

            </androidx.constraintlayout.widget.ConstraintLayout>
        </androidx.core.widget.NestedScrollView>


    </androidx.constraintlayout.widget.ConstraintLayout>
fragmentでネストされたものではなく、通常のスクロールビューを使用する場合、ビュープログラムが占める部分をスクロールすると、画面全体が上に移動せず、その部分だけがスクロールされます.
nestedScrollViewに切り替えると、viewager部分がスクロールするときにまず画面全体を上に移動し、tableoutが固定されるとviewagerの画面がスクロールします!
NestedScolleViewではネストされたスクロールがサポートされているため、通常のScolleViewを使用する場合とは異なると考えられます.
スクロール機能は本当にたくさん使われているので、もっと深く勉強しなければなりません...!