You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设置NestedScrollView最大滚动范围:解决无限滚动问题

限制NestedScrollView的最大滚动范围

问题原因

你当前的NestedScrollView出现无限滚动,是因为内部RelativeLayout设置了android:layout_height="fill_parent",再加上android:fillViewport="true"属性,导致子布局高度被拉伸至与ScrollView一致,若子布局内部内容持续扩展,就会出现无限制滚动的情况。

解决方案

通过限制内部子布局的最大高度来约束ScrollView的滚动范围,具体修改如下:

<androidx.core.widget.NestedScrollView 
    android:id="@id/scroll_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true">

    <RelativeLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"
        android:maxHeight="2000dp"> <!-- 替换为你需要的最大高度值 -->
        <!-- 此处放置你的内部子控件 -->
    </RelativeLayout>
</androidx.core.widget.NestedScrollView>

关键说明

  • 将内部RelativeLayout的layout_height改为wrap_content,让它根据实际内容自适应高度,再通过android:maxHeight设定允许的最大高度。
  • maxHeight可根据需求设置具体数值(如2000dp),当内容高度超过该值时,NestedScrollView只会滚动到这个高度范围,不会无限延伸。
  • 若不需要强制让子布局填满ScrollView可视区域,可移除android:fillViewport="true"属性,进一步避免不必要的高度拉伸。

内容的提问来源于stack exchange,提问作者Benaissa Adel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 20:09:11