Flutter 颤振叠加不';不要让孩子们重叠
我试图将一条水平线(当前为Flutter 颤振叠加不';不要让孩子们重叠,flutter,flutter-layout,Flutter,Flutter Layout,我试图将一条水平线(当前为分隔符,但可以更改为自定义绘制)作为行的背景。但是,无论子项的顺序如何,该行始终位于行的前面。我不知道怎么了。这是密码 Stack( children: <Widget>[ Positioned.fill( child: const Divider(color: Colors.black), ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween,
分隔符
,但可以更改为自定义绘制
)作为行
的背景。但是,无论子项的顺序如何,该行始终位于行的前面。我不知道怎么了。这是密码
Stack(
children: <Widget>[
Positioned.fill(
child: const Divider(color: Colors.black),
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Ink(
decoration: ShapeDecoration(
color: Colors.grey[350],
shape: CircleBorder(),
),
child: Padding(
padding: const EdgeInsets.all(4),
child: Icon(Icons.arrow_forward, size: 32)
),
),
Ink(
decoration: ShapeDecoration(
color: Colors.grey[350],
shape: CircleBorder(),
),
child: Padding(
padding: const EdgeInsets.all(4),
child: Icon(Icons.location_on, size: 32)
),
),
Ink(
decoration: ShapeDecoration(
color: Colors.grey[350],
shape: CircleBorder(),
),
child: Padding(
padding: const EdgeInsets.all(4),
child: Icon(Icons.flag, size: 32)
),
),
],
),
],
),
堆栈(
儿童:[
定位填充(
子对象:常量分隔符(颜色:Colors.black),
),
划船(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
墨水(
装饰:造型装饰(
颜色:颜色。灰色[350],
形状:CircleBorder(),
),
孩子:填充(
填充:常量边集。全部(4),
子项:图标(图标向前箭头,大小:32)
),
),
墨水(
装饰:造型装饰(
颜色:颜色。灰色[350],
形状:CircleBorder(),
),
孩子:填充(
填充:常量边集。全部(4),
子项:图标(Icons.location\u on,大小:32)
),
),
墨水(
装饰:造型装饰(
颜色:颜色。灰色[350],
形状:CircleBorder(),
),
孩子:填充(
填充:常量边集。全部(4),
子项:图标(Icons.flag,大小:32)
),
),
],
),
],
),
这是结果图
使用容器
代替墨水
Stack(
children: <Widget>[
Positioned.fill(
child: const Divider(color: Colors.black),
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Container(
decoration: ShapeDecoration(
color: Colors.grey[350],
shape: CircleBorder(),
),
child: Padding(
padding: const EdgeInsets.all(4),
child: Icon(Icons.arrow_forward, size: 32)
),
),
Container(
decoration: ShapeDecoration(
color: Colors.grey[350],
shape: CircleBorder(),
),
child: Padding(
padding: const EdgeInsets.all(4),
child: Icon(Icons.location_on, size: 32)
),
),
Container(
decoration: ShapeDecoration(
color: Colors.grey[350],
shape: CircleBorder(),
),
child: Padding(
padding: const EdgeInsets.all(4),
child: Icon(Icons.flag, size: 32)
),
),
],
),
],
);
堆栈(
儿童:[
定位填充(
子对象:常量分隔符(颜色:Colors.black),
),
划船(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
容器(
装饰:造型装饰(
颜色:颜色。灰色[350],
形状:CircleBorder(),
),
孩子:填充(
填充:常量边集。全部(4),
子项:图标(图标向前箭头,大小:32)
),
),
容器(
装饰:造型装饰(
颜色:颜色。灰色[350],
形状:CircleBorder(),
),
孩子:填充(
填充:常量边集。全部(4),
子项:图标(Icons.location\u on,大小:32)
),
),
容器(
装饰:造型装饰(
颜色:颜色。灰色[350],
形状:CircleBorder(),
),
孩子:填充(
填充:常量边集。全部(4),
子项:图标(Icons.flag,大小:32)
),
),
],
),
],
);
使用容器
代替墨水
Stack(
children: <Widget>[
Positioned.fill(
child: const Divider(color: Colors.black),
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Container(
decoration: ShapeDecoration(
color: Colors.grey[350],
shape: CircleBorder(),
),
child: Padding(
padding: const EdgeInsets.all(4),
child: Icon(Icons.arrow_forward, size: 32)
),
),
Container(
decoration: ShapeDecoration(
color: Colors.grey[350],
shape: CircleBorder(),
),
child: Padding(
padding: const EdgeInsets.all(4),
child: Icon(Icons.location_on, size: 32)
),
),
Container(
decoration: ShapeDecoration(
color: Colors.grey[350],
shape: CircleBorder(),
),
child: Padding(
padding: const EdgeInsets.all(4),
child: Icon(Icons.flag, size: 32)
),
),
],
),
],
);
堆栈(
儿童:[
定位填充(
子对象:常量分隔符(颜色:Colors.black),
),
划船(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
容器(
装饰:造型装饰(
颜色:颜色。灰色[350],
形状:CircleBorder(),
),
孩子:填充(
填充:常量边集。全部(4),
子项:图标(图标向前箭头,大小:32)
),
),
容器(
装饰:造型装饰(
颜色:颜色。灰色[350],
形状:CircleBorder(),
),
孩子:填充(
填充:常量边集。全部(4),
子项:图标(Icons.location\u on,大小:32)
),
),
容器(
装饰:造型装饰(
颜色:颜色。灰色[350],
形状:CircleBorder(),
),
孩子:填充(
填充:常量边集。全部(4),
子项:图标(Icons.flag,大小:32)
),
),
],
),
],
);
卸下定位螺钉。fill@Z.Cajurao不工作,并破坏布局(线未居中)移除定位。fill@Z.Cajurao没有工作,并且破坏了布局(线没有居中)谢谢!顺便问一下,我能问一下原因吗?根据本文档,Ink
是给底层材料泼墨和加亮<另一方面,code>Container
会自己绘制,而不是按照最近的材质小部件绘制。Ink
小部件直接在材质上绘制给定的装饰,与InkWell
和InkResponse
在材质上绘制的方式相同。因此,当一个动作完成时,InkWell
在子对象上方绘制时,Ink
小部件在小部件上方绘制……即使它在堆栈中也是如此!顺便问一下,我能问一下原因吗?根据本文档,Ink
是给底层材料泼墨和加亮<另一方面,code>Container会自己绘制,而不是按照最近的材质小部件绘制。Ink
小部件直接在材质上绘制给定的装饰,与InkWell
和InkResponse
在材质上绘制的方式相同。因此,当动作完成时,InkWell
在子部件上方绘制时,Ink
小部件在小部件上方绘制……即使它在堆栈中