小程序开发|小程序制作|小程序开发网

搜索

Flutter控制组件的显示和隐藏的三种方式

2022-10-31 19:02| 发布者: 附原| 查看: 203| 评论: 2

摘要: 方式一:if语句控制// 例如:Column( mainAxisAlignment: MainAxisAlignment.center, children: [ if(a=="显示") Text("显示"), Offstage( offsta

方式一: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也必须同时设置。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

引用 yangyuan 2023-1-13 13:48
可以,可以,必须点赞!
引用 蠡湖冲 2022-12-16 03:08
必须赞

查看全部评论(2)

返回顶部