如何根据小部件的大小布置小部件?

时间:2019-05-24 18:16:18

标签: flutter flutter-layout

我正在尝试构建一个宽度=(其子宽度+ 10)的容器。该子项也是带有“文本”小部件的容器,该容器可以具有各种文本内容。

我试图将子级提取为Statefull窗口小部件,但未能公开其大小。

这是我的最小代码:

  final GlobalKey _childKey = GlobalKey();

  _getChildWidth() {
    final Size size = _childKey.currentContext.size;
    final width = size.width;
    return width;
  }

  Widget child = Container(
    key: _keyChild,
    child: Text("text here"),
  );

  Widget parent = Container(
    width: _getChildWidth + 10,
    child: child,
  );

2 个答案:

答案 0 :(得分:0)

听起来Padding小部件虽然Container也有padding属性,https://api.flutter.dev/flutter/widgets/Container/padding.html

答案 1 :(得分:0)

一种选择是创建一个容器,放置水平填充属性5(左5 +右5)和一个Text子代,如下所示:

  Container(
      padding: EdgeInsets.symmetric(horizontal: 5.0),
      child: Text('text here'),
  );