这篇文章主要为大家介绍了Flutter控制组件显示和隐藏三种方式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
方式一:if语句控制
// 例如:
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
if(a=="显示")
Text("显示"),
Offstage(
offstage: false,
child: Text("显示"),
),
Visibility(
visible: true,
child: Text("显示")
)
],
),
方式二:Offstage组件
offstage属性控制控制child的显示和隐藏,true时:隐藏,false时:显示
Offstage(
offstage: true,
child: Text("显示"),
)
方式三: Visibility
visible属性控制child的显示和隐藏,true时:显示,false时:隐藏
Visibility(
visible: true,
child: Text("显示")
)
Offstage和Visibility的区别:
1、Visibility 隐藏/可见,能保存组件的状态;Offstage不能保存组件的状态,组件重新加载。
2、当Offstage不可见(true)的时候,如果child有动画等,需要手动停掉,Offstage并不会停掉动画等操作。
3、Offstage隐藏时不占空间,Visibility可以设置隐藏时占据空间也可以不占据空间,默认不隐藏时不占据空间
备注:Visibility隐藏时占据空间如下:
Visibility(
visible:false,
maintainAnimation: true,
maintainSize: true,
maintainState: true,
child: Text("显示"),
),
强调:maintainSize就是保持大小不变,如果只设置这个属性,会报错,另外两个属性:maintainAnimation和maintainState也必须同时设置。
以上就是Flutter控制组件显示和隐藏三种方式详解的详细内容,更多关于Flutter控制组件显示隐藏的资料请关注编程学习网其它相关文章!
本文标题为:Flutter控制组件显示和隐藏三种方式详解
- Flutter实现底部和顶部导航栏 2022-08-31
- Android studio实现动态背景页面 2023-05-23
- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- iOS 对当前webView进行截屏的方法 2023-03-01
- Android实现轮询的三种方式 2023-02-17
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- Android实现监听音量的变化 2023-03-30
- 详解flutter engine 那些没被释放的东西 2022-12-04
