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控制组件显示隐藏的资料请关注脚本之家其它相关文章!
相关文章
Android Activity与Service通信(不同进程之间)详解
这篇文章主要介绍了Android Activity与Service通信(不同进程之间)的相关资料,这里提供了三种方法,需要的朋友可以参考下2016-10-10详解Android端与JavaWeb传输加密(DES+RSA)
这篇文章主要介绍了详解Android端与JavaWeb传输加密(DES+RSA),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-11-11
最新评论