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

Flutter:GridView.builder导致页面整体滚动失效的问题求助

解决方法

问题根源在于GridView.builder默认会拦截滚动手势,即便设置了shrinkWrap: true,它仍会优先处理自身滚动事件,导致外层SingleChildScrollView无法响应GridView区域的滚动操作。

直接修改GridView配置即可解决:

  • 给GridView.builder添加physics: const NeverScrollableScrollPhysics(),禁用其自身滚动交互,让滚动事件传递给外层的SingleChildScrollView。

修改后的GridView代码片段:

GridView.builder(
  gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
    crossAxisCount: 3,
    mainAxisSpacing: 10,
    crossAxisSpacing: 10,
  ),
  shrinkWrap: true,
  // 添加该行禁用自身滚动
  physics: const NeverScrollableScrollPhysics(),
  itemCount: snapshot.data['cards'].length,
  itemBuilder: (BuildContext context, int index) {
    return InkWell(...);
  }
)

额外优化:外层的SizedBox可以移除,shrinkWrap: true已经让GridView自适应内容高度,无需额外容器限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 04:15:42