flutter源码分析——给Container设置的宽高为什么不生效?

提出问题

探究这个问题的契机是这样一小段代码:

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("test"),
        ),
    body: Container(
      color: Colors.red,
      child:AspectRatio(
        aspectRatio: 2,
        child: Container(
          width: 100,
          height: 100,
          color: Colors.blue,
        ),
      )
    )
    );
  }

 写这一段是本来想要测试一下AsPectRatio的用法,想象中出现的画面应该是全屏红色,包裹着一个100*200的蓝色方块。但是运行出来的效果:

挠头到头秃,为什么里面那一层Container设置的大小不管用了呢??之前的工作中用到Container时有些奇怪的地方,例如设置大小不如预期啊之类的,但是我一直没去深究,也没去看源码,于是我决定先把AspectRatio的事情放到一边,先把这个Container的事情搞明白再说。

分析问题

这时候我的同事跟我分享了一篇文章,https://mp.weixin.qq.com/s/nkjPIgNRazW56bHuh0PEXQ,我获取到的有效信息是:

原文深入浅出,我这个小白一下子就明白了其中的道理,可是我想知道,这在代码里具体是怎么操作的呢?父控件对子

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值