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

Flutter PageView内嵌ListView.builder滚动时条目颜色溢出是什么原因?

问题原因

你自定义的NoGlowingScrollBehavior重写buildOverscrollIndicator时直接返回了子组件,在移除Android滚动默认波纹效果的同时,也去掉了滚动组件默认的边界裁剪逻辑,导致列表滚动到首尾两端时,超出可视区域的条目内容没有被裁剪,就出现了颜色溢出滚动区域的问题。

解决方案

任选其中一种即可:

  • 方案1:给HoursTab中的ListView.builder添加clipBehavior属性,主动开启边界裁剪
child: ListView.builder(
  clipBehavior: Clip.hardEdge, // 添加该行
  itemCount: 10,
  // 其余原有代码保持不变
)
  • 方案2:修改NoGlowingScrollBehavior的实现,移除波纹的同时保留裁剪能力
class NoGlowingScrollBehavior extends ScrollBehavior {
  @override
  Widget buildOverscrollIndicator(BuildContext context, Widget child, ScrollableDetails details) {
    // 只移除发光效果,保留滚动边界裁剪
    return ClipRect(child: child);
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:39:04