我试图实现允许窗口小部件溢出到另一个窗口小部件的效果,如图所示here
我目前的代码是:
@override
Widget build(BuildContext context) {
Size screenSize = MediaQuery.of(context).size;
return new Column(children: <Widget>[
new Container(
color: Colors.blue,
height: screenSize.height / 2,
width: screenSize.width,
child: new Center(
child: new Container(
margin: const EdgeInsets.only(top: 320.0),
color: Colors.red,
height: 40.0,
width: 40.0,
),
))
]);
}
这导致了following,广场被集装箱切断了。
还有另外一种方法吗?
答案 0 :(得分:3)
一般来说,你应该从不溢出。
如果您需要特定的布局,则需要在不同的图层上明确区分“溢出”小部件。
其中一个解决方案是Stack
小部件,它允许小部件在彼此之上。
最终实现这一目标:
flutter代码将是
new Stack(
fit: StackFit.expand,
children: <Widget>[
new Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
new Expanded(
child: new Container(
color: Colors.blue,
),
),
new Expanded(
child: new Container(
color: Colors.white,
),
),
],
),
new Center(
child: new Container(
color: Colors.red,
height: 40.0,
width: 40.0,
),
)
],
);