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

Flutter技术问询:如何生成对应数量的不同朝向Widget

解决方案

直接用List.generate根据controller.turns.value的数值生成对应数量的Widget,放到Row的children属性里即可,同时可通过索引设置不同朝向。示例代码如下:

Row(
  children: List.generate(controller.turns.value, (index) {
    return Container(
      padding: const EdgeInsets.all(10),
      child: RotatedBox(
        // 用索引+基础旋转值实现不同朝向,可按需调整规则
        quarterTurns: controller.rotation.value + index,
        child: Image(
          image: const AssetImage('reference.png'),
          height: (MediaQuery.of(context).size.height * 0.8) * controller.size.value,
          width: (MediaQuery.of(context).size.width * 0.8) * controller.size.value,
        ),
      ),
    );
  }),
)

代码说明

  • List.generate(count, generator):第一个参数传入controller.turns.value指定生成的Widget数量;第二个参数是生成单个Widget的回调,index为当前Widget的索引(从0开始)。
  • 不同朝向逻辑:通过quarterTurns: controller.rotation.value + index让每个容器的旋转角度依次递增,你也可以自定义规则,比如index * 1(每次多转90度)。
  • 保留了你原有的Container、Image样式与尺寸计算逻辑,保证视觉效果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 20:54:23