Сделать фрагмент ViewPager для независимой прокрутки - PullRequest
0 голосов
/ 20 июня 2020

Наш макет выглядит следующим образом: -

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:clipToPadding="false"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
      android:id="@+id/appBarLayout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:fitsSystemWindows="true"
      android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

        <androidx.appcompat.widget.Toolbar
          android:layout_width="match_parent"
          android:layout_height="?attr/actionBarSize"
          android:background="@color/actionBarColor"
          app:layout_scrollFlags="scroll|enterAlways"
          app:layout_collapseMode="pin" >
        </androidx.appcompat.widget.Toolbar>
    
    </com.google.android.material.appbar.AppBarLayout>

    <androidx.core.widget.NestedScrollView
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      app:layout_behavior="@string/appbar_scrolling_view_behavior"
      android:layout_marginBottom="@dimen/activity_scroll_view_margin_bottom" >
        <LinearLayout
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_margin="@dimen/activity_layout_margin"
          android:orientation="vertical">

            <LinearLayout
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_margin="@dimen/activity_layout_margin"
          android:orientation="vertical">
              //some layout here
          </LinearLayout>

            <com.google.android.material.tabs.TabLayout
              android:id="@+id/tab_layout"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              app:tabIndicatorColor="@color/buttonColor">

                <com.google.android.material.tabs.TabItem
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:text="Overview" />
                <com.google.android.material.tabs.TabItem
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:text="Details" />
            </com.google.android.material.tabs.TabLayout>
            <com.example.pc.CustomViewPager
              android:id="@+id/view_pager"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
             app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"/>
        </LinearLayout>
    </androidx.core.widget.NestedScrollView>

    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:itemIconTint="@drawable/nav_selector"
        app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
        app:menu="@menu/menu_navigation" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

Дано: У нас есть 2 фрагмента в нашем ViewPager. Фрагмент 1 имеет некоторый вид содержимого с прокручиваемым списком, тогда как другой фрагмент 2 имеет лишь несколько текстовых представлений без прокручиваемого содержимого.

Проблема: Функциональность работает нормально, за исключением случаев, когда фрагмент 1 динамически загружается с содержимое, которое может прокручиваться, фрагмент 2 опирается на фрагмент 1 и становится прокручиваемым даже без прокручиваемого содержимого внутри.

Я хочу, чтобы прокручивался только фрагмент 1 (поскольку он имеет содержимое для прокрутки), тогда как фрагмент 2 не должен прокручиваться (поскольку в нем нет содержимого для прокрутки).

Любая помощь приветствуется.

...