【Flutter】旋转元素(Transform、RotatedBox )

这里写自定义目录标题

  • Transform旋转元素
  • [可以改变宽高约束的旋转 - RotatedBox](#可以改变宽高约束的旋转 - RotatedBox)

Transform旋转元素

说明:Transform旋转操作改变了元素的方向,但并没有改变它的布局约束。因此,虽然视觉上元素看起来是旋转了,但它仍然遵循原始的宽高约束,这可能导致它不能正确地铺满 父元素。

dart 复制代码
import 'dart:math' as math;

Stack(
  fit: StackFit.expand,
  children: [
    LayoutBuilder(
      builder: (context, constraints) {
        final double width = constraints.maxWidth;
        final double height = constraints.maxHeight;

        return Transform.rotate(
          angle: math.pi / 2, // 固定 90 度旋转
          child: Container(
            color: Colors.red,
            width: mirror ? height : width, // 根据镜像状态调整宽度
            height: mirror ? width : height, // 根据镜像状态调整高度
            child: Icon(Icons.check_box),
          ),
        );
      },
    ),
  ],
)

可以改变宽高约束的旋转 - RotatedBox

说明:RotatedBox 是一种不同的旋转方式,它实际上改变了子组件的布局方向,而不是仅仅在绘制时旋转。这意味着它会根据旋转角度重新计算子组件的尺寸和位置,可以应用于旋转后希望铺满父元素的情境。

dart 复制代码
Stack(
  fit: StackFit.expand,
  children: [
    RotatedBox(
      quarterTurns: 1, // 90 度等于 1/4 转
      child: Container(
        color: Colors.red,
        width: MediaQuery.of(context).size.width, // 使用原始宽度
        height: MediaQuery.of(context).size.height, // 使用原始高度
        child: Icon(Icons.check_box),
      ),
    ),
  ],
)
相关推荐
stringwu8 小时前
Flutter 开发必备:MVI 架构的高效实现指南
前端·flutter
程序员老刘1 天前
Flutter版本选择指南:3.44系列继续观望 | 2026年6月
flutter·ai编程·客户端
用户965597361903 天前
Provider vs Bloc vs GetX vs Riverpod:Flutter 状态管理方案怎么选?
flutter
恋猫de小郭3 天前
Flutter Patchwork,不用 Fork 改依赖包源码的第三方工具
android·前端·flutter
程序员老刘3 天前
跑分第一的编程大模型,我为啥不用?
flutter·ai编程·vibecoding
恋猫de小郭4 天前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
张风捷特烈4 天前
Flutter 类库大揭秘#01 | path_provider架构与设计
android·flutter
恋猫de小郭6 天前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter
恋猫de小郭6 天前
解读 Android 17 全新内存限制,有没有“豁免”后门?
android·前端·flutter
程序员老刘9 天前
跨平台开发地图 | 2026年6月
flutter·ai编程·客户端