flutter入门教程-从零开始-4 flutter常用布局Container

Container构造函数

 Container({
    Key key,
    this.alignment,
    this.padding,
    Color color,
    Decoration decoration,
    this.foregroundDecoration,
    double width,
    double height,
    BoxConstraints constraints,
    this.margin,
    this.transform,
    this.child,
  })

1.color颜色

其中color用来指定背景色

return Container(
        color: Colors.blue,
      );

以上代码将展示一个全蓝的界面

return Container(
        color: Colors.blue,
        child: Container(
          color: Colors.red,
        ),
      );

以上代码将展示一个全红的界面,红色子界面覆盖了蓝色界面

2.MARGIN边距

2.1EdgeInsets.fromLTRB
EdgeInsets.fromLTRB(this.left, this.top, this.right, this.bottom)

表示左上右下4个边的间距

return Container(
        color: Colors.blue,
        margin: EdgeInsets.fromLTRB(0, 100, 0, 0),    
      );

展示结果如下


image.png
  return Container(
        color: Colors.blue,
        margin: EdgeInsets.fromLTRB(100, 100, 100, 100),

      );

如下


image.png
2.2.EdgeInsets.all
const EdgeInsets.all(double value)
      : left = value, top = value, right = value, bottom = value;

同时设置4个边的间距

return Container(
        color: Colors.blue,
        margin: EdgeInsets.fromLTRB(100, 100, 100, 100),
        child: Container(
          color: Colors.red,
          margin: EdgeInsets.all(20),
        ),
      );

效果如下


image.png

可见,子widget的margin是从父widget内部开始算的,而不是每次都从屏幕边缘开始,这点比较符合直觉,其中一个令人疑惑的地方就是,EdgeInsets.all的单位是什么呢?如何保证不同的屏幕大小有一致的效果呢?

屏幕适配

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Container 容器 连载:flutter布局-1-column连载:flutter布局-2-row连载:fl...
    liu_520阅读 8,494评论 2 8
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,720评论 1 45
  • 国庆后面两天在家学习整理了一波flutter,基本把能撸过能看到的代码都过了一遍,此文篇幅较长,建议保存(star...
    Nealyang阅读 4,381评论 1 17
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,805评论 1 92
  • 丽日惠风临东江 娜袅烛烟禅茶香 心期圣贤成蜡炬 正道维艰守寒窗 禅舞•丽娜
    姜冠阅读 289评论 0 1