定位布局 Stack 层叠组件 Stack 与 Align Stack 与 Positioned 实现

一、Flutter Stack 组件
Stack 表示堆的意思,我们可以用 Stack 或者 Stack 结合 Align 或者 Stack 结合 Positiond 来实现页面的定位布局
alignment  配置所有子元素的显示位置
children 子组件
 
二、Flutter Stack Align
Stack 组件中结合 Align 组件可以控制每个子元素的显示位置
alignment  配置所有子元素的显示位置
child  子组件
 
三、Flutter Stack Positioned
Stack 组件中结合 Positioned 组件也可以控制每个子元素的显示位置
top  子元素距离顶部的距离
bottom  子元素距离底部的距离
left  子元素距离左侧距离
right  子元素距离右侧距离
child  子组件 
 
案例
 
Positioned定位
  return Container(
  width: 200,
height: 200,
decoration: BoxDecoration(
color: Colors.red
),
child: Stack(
children: <Widget>[
Positioned(child: Icon(Icons.print),),
Positioned(right: 0, child: Icon(Icons.map),),
Positioned(bottom: 0, child: Icon(Icons.search),),
],
)
);

Align定位
return Container(
width: 200,
height: 200,
decoration: BoxDecoration(
color: Colors.red
),
child: Stack(
children: <Widget>[
Align(alignment: Alignment.center, child: Icon(Icons.print),),
Align(alignment: Alignment.bottomLeft, child: Icon(Icons.map),),
Align(alignment: Alignment.bottomRight, child: Icon(Icons.search),),
],
)
);
 

猜你喜欢

转载自www.cnblogs.com/zhaofeis/p/12335208.html
今日推荐