如何在滚动视图中设置过度滚动页眉和页脚



我想在滚动视图中设置"Overscroll"页眉和"Overscrill"页脚。ScrollView Overscrolls工作正常。但我无法在滚动视图中设置页眉和页脚。但在滚动视图中,"overScrollHeader"one_answers"overScrllFooter"方法不可用。如何设置页眉和页脚?

您不能为scrollView设置ScrollHeader/Footer。我遇到了同样的问题,并不断找到列表视图示例,而这些示例在我的案例中无法使用。不过我想了个办法。不确定这是否是最好的方法,但基本上我正在做的是在滚动视图的子级上设置一个负边距。实现它的最简单方法是使用布局xml,并简单地将ScrollView的子ViewGroup的marginTop设置为某个负数。然后将滚动视图的底部填充设置为与子视图中的边距相同的大小。(抱歉有点混淆)

<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:paddingBottom="-100dp">
<LinearLayout
    android:orientation="vertical"
    android:layout_marginTop="-100dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
... etc

类似的东西。

位于最顶部的ChildView中的任何内容都应显示在过度滚动区域。

然而,我不想用xml做这件事,因为它对我来说不够灵活。我制作了一个自定义类,你可以在其中设置你想在overcroll区域中显示的任何视图。

在您的自定义滚动视图覆盖onMeasure或其他方法中,您可以获得标题视图的高度,并动态设置子级的边距和滚动视图的填充。

由于我不需要页脚,我还没有尝试过,但我相信有一种方法可以使用相同的方法来解决它。同样,我不太确定这是否是最好的解决方案(尤其是使用负边距和填充有点可怕,尽管对于线性和相对布局来说应该没问题),但它对我有效,所以我想分享一下!

最新更新