FrameLayout的高度与NestedScrollView不匹配

13

我在一个NestedScrollView中有一个FrameLayout,如下所示:

<android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#000000">

但是FrameLayout没有填充NestedScrollView的高度,我该怎么修复?


我认为在帧布局中设置重力为居中或其他。 - Syed Qasim Ahmed
使用 android:layout_gravity="center"android:layout_gravity="center|fill_vertical" 似乎不起作用。 - learner
1
android:fillViewport="true"是一个属性,将其添加到android.support.v4.widget.NestedScrollView中。 - Syed Qasim Ahmed
1个回答

55

检查此解决方案
使用fillViewport="true" 这个属性会导致滚动视图的子控件在需要时扩展到ScrollView的高度。当子控件高度超过ScrollView时,该属性无效。

检查此解决方案
使用fillViewport="true"属性可以使滚动视图的子控件根据需要扩展到ScrollView的高度。如果子控件高度超过ScrollView,则该属性不起作用。

 <android.support.v4.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
      android:fillViewport="true"
            app:layout_behavior="@string/appbar_scrolling_view_behavior">

我已经尝试过 android:fillViewport="true"。但是当我这样做时,我会在 setContentView(R.layout.activity_main); 这一行遇到 nullPointerException。 - learner
似乎是其他原因导致了崩溃。所以谢谢(尽管我已经尝试过fillViewport)。我清理了项目,现在它可以工作了,但我不知道为什么之前会失败。 - learner
1
这个在android.support.v4.widget.NestedScrollView上运行得非常好。 - Nestor Ledon
1
这正是我一直在寻找的,非常感谢! - Jerry
1
还可以与androidx.coordinatorlayout.widget.CoordinatorLayoutandroidx.core.widget.NestedScrollView一起使用-谢谢! - undefined
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接