怎么使用Flutter叠加组件Stack
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容介绍了"怎么使用Flutter叠加组件Stack"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2025年01月19日怎么使用Flutter叠加组件Stack
本篇内容介绍了"怎么使用Flutter叠加组件Stack"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
注意:无特殊说明,Flutter版本及Dart版本如下:
Flutter版本: 1.12.13+hotfix.5
Dart版本: 2.7.0
Stack
Stack组件可以将子组件叠加显示,根据子组件的顺利依次向上叠加,用法如下:
Stack( children:[ Container( height: 200, width: 200, color: Colors.red, ), Container( height: 170, width: 170, color: Colors.blue, ), Container( height: 140, width: 140, color: Colors.yellow, ) ],)
效果如下:
Stack未定位的子组件大小由fit
参数决定,默认值是StackFit.loose
,表示子组件自己决定,StackFit.expand
表示尽可能的大,用法如下:
Stack( fit: StackFit.expand, ...)
Stack未定位的子组件的默认左上角对齐,通过alignment
参数控制,用法如下:
Stack( alignment: Alignment.center, ...)
效果如下:
有没有注意到fit
和alignment
参数控制的都是未定位的子组件,那什么样的组件叫做定位的子组件?使用Positioned包裹的子组件就是定位的子组件,用法如下:
Stack( alignment: Alignment.center, children:[ Container( height: 200, width: 200, color: Colors.red, ), Positioned( left: 10, right: 10, bottom: 10, top: 10, child: Container( color: Colors.green, ), ) ],)
Positioned组件可以指定距Stack各边的距离,效果如下:
如果子组件超过Stack边界由overflow
控制,默认是裁剪,下面设置总是显示的用法:
Stack( overflow: Overflow.visible, children:[ Container( height: 200, width: 200, color: Colors.red, ), Positioned( left: 100, top: 100, height: 150, width: 150, child: Container( color: Colors.green, ), ) ],)
效果如下:
IndexedStack
IndexedStack是Stack的子类,Stack是将所有的子组件叠加显示,而IndexedStack只显示指定的子组件,用法如下:
IndexedStack( index: _index, children:[ Center( child: Container( height: 300, width: 300, color: Colors.red, alignment: Alignment.center, child: Icon( Icons.fastfood, size: 60, color: Colors.blue, ), ), ), Center( child: Container( height: 300, width: 300, color: Colors.green, alignment: Alignment.center, child: Icon( Icons.cake, size: 60, color: Colors.blue, ), ), ), Center( child: Container( height: 300, width: 300, color: Colors.yellow, alignment: Alignment.center, child: Icon( Icons.local_cafe, size: 60, color: Colors.blue, ), ), ), ], )
通过点击按钮更新_index
值,代码如下:
Row( mainAxisAlignment: MainAxisAlignment.center, children:[ IconButton( icon: Icon(Icons.fastfood), onPressed: () { setState(() { _index = 0; }); }, ), IconButton( icon: Icon(Icons.cake), onPressed: () { setState(() { _index = 1; }); }, ), IconButton( icon: Icon(Icons.local_cafe), onPressed: () { setState(() { _index = 2; }); }, ), ], )
效果如下:
Positioned
Positioned用于定位Stack子组件,Positioned必须是Stack的子组件,基本用法如下:
Stack( children:[ Positioned( left: 10, right: 10, top: 10, bottom: 10, child: Container(color: Colors.red), ), ],)
效果如下:
"怎么使用Flutter叠加组件Stack"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
组件
效果
定位
叠加
版本
参数
控制
内容
更多
知识
实用
特殊
学有所成
接下来
代码
包裹
困境
大小
子类
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发中 数字签名
流放兽腹数据库
安徽六安软件开发培训排名
51单片机嵌入式软件开发
松江区企业软件开发厂家价格
文件传输协议服务器端
学校服务器漏洞安全排查总结
奥迪斯电梯服务器
手机应用软件开发区海边
计算机与网络技术基础实训考试题
共享充电线的软件开发商
中职学习软件开发
关于网络安全的安全标语
武汉市网络安全监督局长
欧瑞博服务器升级需要多久
境内外的网络安全
oem服务器
ss服务器搭建
预防网络安全的策略和技术
网络安全培训感受
软件开发的所得税减免
免费的项目管理数据库
主题商店显示服务器正忙稍后重试
软件开发平台是什么职位
软件开发需求怎么提取
西安帕克因互联网科技
文体旅软件开发
常州数字化智慧工厂软件开发
重庆服务器回收
软件开发入门