嵌套滚动视图中ViewPager的高度问题

时间:2020-06-15 17:33:15

标签: android android-studio android-layout android-fragments

我们的布局文件类似于以下内容:

<androidx.core.widget.NestedScrollView
              android:fillViewport="true"
              app:layout_behavior="@string/appbar_scrolling_view_behavior"
              android:layout_width="match_parent"
              android:layout_height="0dp">
    <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="match_parent">
        <LinearLayout
          android:layout_width="match_parent"
          android:layout_height="match_parent">
            <CheckBox android:id="@+id/checkboxId"
              android:layout_width="match_parent"
              android:layout_height="match_parent" />
            <LinearLayout
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:visibility="gone"></LinearLayout>
            <androidx.coordinatorlayout.widget.CoordinatorLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent">
                <androidx.viewpager.widget.ViewPager
                  android:id="@+id/view_pager"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"/>
                <com.google.android.material.appbar.AppBarLayout
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content">
                    <com.google.android.material.tabs.TabLayout
                      android:id="@+id/tab_layout"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content">
                        <com.google.android.material.tabs.TabItem
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:text="Overview" />
                        <com.google.android.material.tabs.TabItem
                          android:layout_width="wrap_content"
                          android:layout_height="wrap_content"
                          android:text="Details" />
                    </com.google.android.material.tabs.TabLayout>
                </com.google.android.material.appbar.AppBarLayout>
            </androidx.coordinatorlayout.widget.CoordinatorLayout>
        </LinearLayout>
    </LinearLayout>
</androidx.core.widget.NestedScrollView>

给出:

如果您注意到了,则布局中有一个复选框视图,可将LinearLayout的可见性从GONE切换为VISIBLE,反之亦然。

问题

在Layout的初始状态为“ GONE”的情况下,它可以正常工作,但是当使用复选框将线性布局设置为可见时,TabLayout的片段将被截断(根据屏幕截图,无法向下滚动)enter image description here < / p>

我的视点

看起来ViewPager的高度固定了,当显示线性布局(可见)时,它就会中断。任何线索如何解决?

数学课后

但是,如果我固定了CoordinatorLayout的高度(例如400dp),则显示效果很好。 enter image description here

0 个答案:

没有答案