包含viewpager的父NestedScrollView不滚动

时间:2019-01-05 13:17:28

标签: android android-fragments android-viewpager android-nestedscrollview

我有一个活动,里面有一个nestedscrollview,里面是一个view pager view pager有一个片段,而片段有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)时,它会被滚动,但活动中的父嵌套嵌套滚动视图不会被滚动。 我已经实现了协调器布局,但是有一个问题。在猛扑整个布局时会卡住。但是在缓慢滚动时可以使用,因此将其删除。

如果需要更多代码,请告诉我。

1 个答案:

答案 0 :(得分:0)

删除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">

这里已经有人谈论this issue