我正在使用Stack小部件在 ListView 内部进行布局,但问题是位置。每当我添加另一个小部件时,它总是从TopLeft开始。这就是为什么我使用对称填充。起初,它仍然很容易,但是在使用了三个小部件之后,我觉得使用高度超过 255.0
的对称填充非常麻烦Padding(
padding: const EdgeInsets.symmetric(vertical: 235.0)),
这是我的布局代码的简短版本:
return AnimatedBuilder{
builder: (BuildContext context, Widget child) {
return Scaffold(
//BODY
body: ListView(
children: <Widget>[
new Container(
child: new Stack(
children: <Widget>[
//THE WIDGET
new Container(),
new Transform(),
new FadeTransition(),
new FadeTransition(),
new Text(),
任何帮助将不胜感激!
答案 0 :(得分:1)
答案在您的问题标题中-使用Positioned
小部件将小部件放在Stack
下
现在,此小部件经过专门设计,可在Stack下使用。
Positioned
小部件必须是Stack的后代,并且从Positioned小部件到其封闭Stack的路径必须仅包含StatelessWidgets或StatefulWidgets(不能包含其他类型的小部件,例如RenderObjectWidgets)。
如果将小部件包装在Positioned中,则它是其Stack中的已定位小部件。如果top属性为非null,则此子项的顶部边缘将位于堆栈小部件顶部的顶部布局单元。 right,bottom和left属性的工作方式类似。