我们如何在滚动视图中设置过度滚动页眉和页脚?
Posted
技术标签:
【中文标题】我们如何在滚动视图中设置过度滚动页眉和页脚?【英文标题】:How we can set overscroll header and footer in scrollview? 【发布时间】:2014-11-08 20:07:23 【问题描述】:我想在滚动视图中设置“Overscroll”页眉和“Overscroll”页脚。ScrollView Overscroll 工作正常。但我无法在滚动视图中设置页眉和页脚。但是在滚动视图中“overScrollHeader”和“overScrollFooter”方法不可用。我应该如何设置页眉和页脚?
【问题讨论】:
我认为你有 onOverScrolled() 并从位置决定它是否是页脚上的页眉。 【参考方案1】:你不能为scrollView设置overScrollHeader/Footer。 我遇到了同样的问题,并且一直在寻找我无法在我的情况下使用的列表视图示例。 不过我想出了一个办法。不确定它是否是最好的方法,但基本上我正在做的是在滚动视图的子项上设置负边距。实现它的最简单方法是使用布局 xml,并将 ScrollView 的 Child ViewGroup 的 marginTop 设置为某个负数。然后将滚动视图的底部填充设置为与子视图中设置的边距相同的量。 (抱歉有点混乱)
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ScrollView"
android:layout_
android:layout_
android:paddingBottom="-100dp">
<LinearLayout
android:orientation="vertical"
android:layout_marginTop="-100dp"
android:layout_
android:layout_>
... etc
类似的东西。
您的 ChildView 顶部的任何内容都应显示在过度滚动区域中。
但是我不想在 xml 中执行此操作,因为它对我来说不够灵活,我创建了一个自定义类,您可以在其中设置您希望在过度滚动区域中显示的任何视图。
在您的自定义滚动视图中覆盖 onMeasure 或其他一些方法,您可以在其中获取标题视图的高度,并动态设置子级的边距和滚动视图的填充。
由于我不需要页脚,我还没有尝试过,但我确信有一种方法可以使用相同类型的方法来解决它。同样,我不太确定这是否是最好的解决方案(尤其是使用负边距和填充有点可怕,尽管对于线性和相对布局应该没问题)但它对我有用,所以我想我会分享它!
【讨论】:
以上是关于我们如何在滚动视图中设置过度滚动页眉和页脚?的主要内容,如果未能解决你的问题,请参考以下文章