在堆栈中删除 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()
和你想要的高度。
我想把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()
和你想要的高度。