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

如何在Flutter的ListView列表项之间添加箭头图标?

解决方案

你可以通过在每个列表项的左侧区域(圆形图片所在位置)添加垂直箭头来实现需求,仅需在非最后一个列表项的图片下方显示箭头即可。

修改后的代码如下:

ListView.builder(
  itemCount: 9,
  itemBuilder: (BuildContext context, int index) {
    return Padding(
      padding: const EdgeInsets.symmetric(horizontal: 8.0, vertical: 8.0),
      child: Row(
        crossAxisAlignment: CrossAxisAlignment.start, // 改为顶部对齐,保证布局整齐
        children: [
          // 左侧区域:图片 + 箭头(非最后一项显示)
          Column(
            mainAxisSize: MainAxisSize.min,
            children: [
              Image.asset(
                "assets/logos/navy-circle.png",
                width: 40,
                height: 40,
              ),
              // 仅在非最后一项时显示箭头
              if (index != 8) // 9个项的最后一项index为8
                const Padding(
                  padding: EdgeInsets.symmetric(vertical: 12.0),
                  child: Icon(
                    Icons.arrow_downward,
                    color: Colors.blue, // 匹配深蓝色图片的色调
                    size: 18,
                  ),
                ),
            ],
          ),
          const SizedBox(width: 20),
          Expanded(
            child: Text(
              'Paragraph ${index + 1}: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor.',
              style: const TextStyle(color: Colors.white, fontSize: 13, fontWeight: FontWeight.bold),
            ),
          ),
        ],
      ),
    );
  },
),

关键说明:

  1. 将原单独的Image.asset包裹在Column中,同时容纳图片和箭头图标;
  2. 通过if (index != itemCount - 1)判断,避免在最后一个列表项下方显示多余箭头;
  3. 调整Row的对齐方式为CrossAxisAlignment.start,保证所有列表项顶部对齐;
  4. 给箭头添加上下内边距,让箭头刚好位于两个圆形图片的中间位置;
  5. 箭头颜色匹配深蓝色图片的色调,保证视觉风格统一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:42:34