Flutter教学

Flutter(58):Layout组件之SizedBox

2020-10-19  本文已影响0人  starryxp

Flutter教学目录持续更新中

Github源代码持续更新中

1.SizedBox介绍

一个特定大小的盒子。这个widget给予子控件宽度和高度。如果宽度或高度为null,则此widget将调整自身大小以匹配子控件的大小。

2.SizedBox属性

SizedBox尺寸调节:
  _myChild() {
    return DecoratedBox(decoration: BoxDecoration(color: Colors.red));
  }

          SizedBox(
            child: Container(
              width: 20,
              height: 20,
              child: _myChild(),
            ),
          ),
          Container(
            margin: EdgeInsets.only(top: 10),
            child: SizedBox(
              width: 20,
              height: 20,
              child: _myChild(),
            ),
          ),
          Container(
            width: 20,
            height: 20,
            margin: EdgeInsets.only(top: 10),
            child: SizedBox(
              child: _myChild(),
            ),
          ),

3.SizedBox.expand属性

尽可能大的在父控件的约束内显示

          Container(
            margin: EdgeInsets.only(top: 10),
            color: Colors.blue,
            width: 50,
            height: 50,
            child: SizedBox.expand(
              child: _myChild(),
            ),
          ),

4.SizedBox.shrink属性

尽可能小的在父控件的约束内显示

          Container(
            margin: EdgeInsets.only(top: 10),
            color: Colors.blue,
            constraints: BoxConstraints(
              maxWidth: 100,
              maxHeight: 100,
              minWidth: 10,
              minHeight: 10,
            ),
            child: SizedBox.shrink(
              child: _myChild(),
            ),
          ),

5.SizedBox.fromSize属性

以Size尺寸约束

  _mySize() {
    return Size(20, 20);
  }

          Container(
            margin: EdgeInsets.only(top: 10),
            child: SizedBox.fromSize(
              size: _mySize(),
              child: _myChild(),
            ),
          ),

6.最后我们顺便讲一下Size

image.png

下一节:Layout组件之Transform

Flutter(59):Layout组件之Transform

Flutter教学目录持续更新中

Github源代码持续更新中

上一篇下一篇

猜你喜欢

热点阅读