Родительский NestedScrollView, содержащий viewpager, не прокручивается - PullRequest
0 голосов
/ 05 января 2019

У меня есть действие с вложенным scrollview внутри, которое является пейджером представления, пейджер имеет фрагмент, а фрагмент имеет nestedscrollview. Ниже приведена структура:

<LinearLayout>
  <NestedScrollView (Parent)
    android:layout_width="match_parent"
    android:id="@+id/parent_scroll"
    android:layout_height="match_parent"
    android:descendantFocusability="blocksDescendants"
    android:fillViewport="true">
    <LinearLayout << Stuck layout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:orientation="vertical">
        <TextView />
      </LinearLayout>
      <cViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    </LinearLayout>
  </NestedScrollView>
</LinearLayout>

Вид имеет фрагмент внутри. Компоновка фрагмента выглядит так:

<NestedScrollView (inside fragment, child)
  android:id="@+id/nestedScrollView"
  android:layout_width="match_parent"
  android:descendantFocusability="blocksDescendants"
  android:paddingBottom="40dp"
  android:layout_height="wrap_content"
  android:fillViewport="true"
  android:scrollbars="none"
  app:layoutManager="android.support.v7.widget.LinearLayoutManager">


  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="12dp"
    android:orientation="vertical"/>
</NestedScrollView>

Проблема

При попытке прокрутить дочернее представление (NestedScrollView внутри фрагмента) оно прокручивается, но родительское представление Nested Scroll в действии не прокручивается. Я уже реализовал макет координатора, но в этом есть проблема. При броске весь макет застревает. Но работает при медленной прокрутке, поэтому убрал его.

Если требуется больше кода, дайте мне знать.

1 Ответ

0 голосов
/ 05 января 2019

Удалить LinearLayout, который является родителем вашего NestedScrollView. Затем внесите эти изменения в ваш NestedScrollView:

<android.support.v4.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/nestedScrollView"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   app:layout_behavior="@string/appbar_scrolling_view_behavior">

Вот люди уже говорили о этой проблеме .

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