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

Flutter中ListView无法滚动的问题排查与解决求助

Flutter ListView无法滚动的解决方案

你的问题出在ListView被放在Column组件中,但没有给ListView分配明确的可用空间。虽然你设置了shrinkWrap: true,但Column本身不会约束子组件的高度,当列表内容较多时,ListView会因为没有确定的高度范围而无法触发滚动。

修复步骤

把你的ListView用Expanded组件包裹,让它占据Column中剩余的垂直空间,同时移除shrinkWrap: true(因为Expanded已经提供了明确的高度约束,shrinkWrap反而会干扰)。

修改后的ListView代码片段:

Expanded(
  child: ListView.builder(
    itemCount: entries.length,
    scrollDirection: Axis.vertical,
    itemBuilder: (BuildContext context, int index) {
      return ListTile(
        title: Text('Item ${entries[index]}'),
      );
    },
  ),
)

原理说明

Expanded会向Column申请剩余的所有可用垂直空间,给ListView一个固定的高度范围。当列表内容超过这个范围时,ListView就能正常识别可滚动区域,触发滚动行为。而之前的shrinkWrap: true会让ListView根据内容自动调整高度,在Column的无约束环境下,它会无限延伸,导致滚动逻辑失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 13:15:51