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

Flutter ListTile中Image.network设置height后高度不生效如何解决?

ListTile 对 leading 区域存在默认布局约束,会覆盖子组件设置的宽高参数,因此直接给 Image 配置 height、width 无法生效,可通过以下两种方案解决:

  • 方案1:保留 ListTile 组件,调整配置参数
    给 ListTile 添加 minLeadingWidth 属性匹配你需要的宽度,同时在 ClipRRect 外层套 SizedBox 强制指定宽高,代码示例如下:
ListTile(
  // 适配leading自定义宽度,避免默认最小宽度约束
  minLeadingWidth: 55,
  leading: SizedBox(
    width: 55,
    height: 90,
    child: ClipRRect(
      borderRadius: BorderRadius.circular(10.0),
      child: Image.network(
        book.urlImage,
        fit: BoxFit.cover,
      ),
    ),
  ),
  // 其余title、trailing等属性保持原有配置即可
)
  • 方案2:完全自定义布局,不受 ListTile 约束
    如果需要更灵活的尺寸控制,可以直接用 Row 组合实现 ListTile 的布局效果,代码示例如下:
Row(
  crossAxisAlignment: CrossAxisAlignment.center,
  children: [
    ClipRRect(
      borderRadius: BorderRadius.circular(10.0),
      child: Image.network(
        book.urlImage,
        fit: BoxFit.cover,
        width: 55,
        height: 90,
      ),
    ),
    // 模拟ListTile默认的leading和内容间距
    SizedBox(width: 16),
    // 原有ListTile的title、subtitle、trailing组件依次放在此处
  ],
)

如果调整后仍存在尺寸异常,可检查 ListTile 的父级组件是否存在额外的高度、宽度约束限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:06:08