如何将小部件放置在堆栈中,但不匹配父级的宽度/高度?

时间:2019-01-30 14:15:05

标签: dart flutter

我想将小部件放置在Stack的顶部中心,但是它正像下面的屏幕截图一样被拉伸到父级的宽度:

enter image description here

这是我正在使用的代码:

@override
  Widget build(BuildContext context) {
    return Scaffold(
      key: key,
      appBar: AppBar(
        title: Text("Just a test app"),
      ),
      body: Stack(
        children: <Widget>[
          Positioned(
            left: 0,
            right: 0,
            child: Card(
              child: Text("A variable sized text"),
            ),
          ),
        ],
      ),
    );
  }

我想要实现的是这个(但在Stack内部): enter image description here

1 个答案:

答案 0 :(得分:1)

将您的Card换成AlignCenter

 Stack(
    children: <Widget>[
      Positioned( 
        top: 50,
        left: 0,
        right: 0,
        child: Center(
          child: Card(
            child: Text("A variable sized text"),
          ),
        ),
      ),
      Align(
        alignment: Alignment.topCenter, //that also works
        child: Card(
          child: Text("Another variable sized text"),
        ),
      )
    ],
  ),