您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Flutter:SizedBox与Container,为什么要使用其中一个而不是另一个?

Flutter:SizedBox与Container,为什么要使用其中一个而不是另一个?

多亏了开源的魔力,您不必猜测太多。

Container基本上只是一个便利小部件,有时可以使您节省嵌套其他4个小部件的时间。如果您将宽度/高度传递给Container

       constraints =
        (width != null || height != null)
          ? constraints?.tighten(width: width, height: height)
            ?? @R_215_2419@Constraints.tightFor(width: width, height: height)
          : constraints,

这将导致:

    if (constraints != null)
      current = Constrained@R_215_2419@(constraints: constraints, child: current);

实际上,Constrained@R_215_2419@与a几乎相同Sized@R_215_2419@,只是更加灵活。

A Sized@R_215_2419@会做:

  @override
  RenderConstrained@R_215_2419@ createRenderObject(BuildContext context) {
    return RenderConstrained@R_215_2419@(
      additionalConstraints: _additionalConstraints,
    );
  }

  @R_215_2419@Constraints get _additionalConstraints {
    return @R_215_2419@Constraints.tightFor(width: width, height: height);
  }

即。实际上是一样的。如果仅Container用于宽度/高度,则性能开销可能很小,可以忽略不计。但您肯定会无法测量。.但我仍然建议您这样做,Sized@R_215_2419@因为它更清晰。恕我直言。

其他 2022/1/1 18:19:14 有633人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶