在堆栈中删除 space

Remove space in Stack

我想把Card放在4个图标的下面,为什么中间的差距很大?

    case ConnectionState.active:
                  if (snapshot.hasData) {
                    return SingleChildScrollView(
                        child: Column(children: [
                      Stack(
                        children: [
                          Container(
                            height: 500,
                          ),
                          Positioned(
                              top: 0,
                              left: 0,
                              right: 0,
                              child: Container(height: 50, color: Colors.orange)),
                          Positioned(
                            top: 0,
                            left: 24,
                            right: 24,
                            child: Card(
                              shape: RoundedRectangleBorder(
                                side: BorderSide(color: Colors.white70, width: 1),
                                borderRadius: BorderRadius.circular(30),
                              ),
                              margin: EdgeInsets.all(20.0),
                              child: _showWidget(
                                  snapshot.data!), // this are the 4 icons code
                            ),
                          ),
                        ],
                      ),
                      _showBelowCard(snapshot.data!),  // card below 4 icons
                    ]));
                  } else {
                    return NoItem();
                  }


 Widget _showBelowCard(ABC abc) {
    return Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: const [
          Text(
            "Place it below 4 icons",
            style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
          ),
          SizedBox(height: 20),
          Text(
            "Status",
            style: TextStyle(color: Colors.grey),
          ),
        ]);
  }

之所以这么低,是因为你的Stack()上的Container()高度为500。 Stack() 小部件通常采用最大子项的大小。

如果你想在 Card()Stack() 之间添加一些 space,只需添加 SizedBox() 和你想要的高度。