Flutter - 显示/潜伏控件的几种方法

计算机软件开发 2024-9-11 23:34:59 104 0 来自 中国
1. if 判断

if(!_hidden)    Container(        color: Colors.deepOrangeAccent,        child: TestWidget(msg: 'if 判断',),     )现实结果,不会占位,潜伏时TestWidget不会加载,可else一个占位(则会加载占位的组件)
2. Opacity

Container(              color: Colors.red,              child: Opacity(                opacity: _hidden?0:1,//会占位高度                child: TestWidget(msg: 'Opacity',),              ),            ),现实结果,会占位,显示潜伏TestWidget都会加载
2. Offstage

Container(              color: Colors.grey,              child: Offstage(                offstage: _hidden,///无占位高度                child: TestWidget(msg: 'Offstage',),              ),            ),现实结果,不会占位,显示潜伏TestWidget都会加载
3. Visibility

Container(              color: Colors.cyanAccent,              child: Visibility(                  maintainAnimation: true,                  maintainState: true,                  maintainSize: true,//潜伏须要占位,前俩个也须要为true,内部断言会判断,不须要时都为false,maintainState影响是否加载                  child: TestWidget(msg: 'Visibility',),                  visible: _hidden              ),            ),现实结果,可选择是否占位,不占位,潜伏时TestWidget不会加载,占位,显示潜伏TestWidget都会加载
测试:

Visibility选择占位时,潜伏TestWidget


Visibility选择占位时,显示TestWidget

Visibility选择不占位时,潜伏TestWidget

Visibility选择不占位时,显示TestWidget

怎么选择看本身需求了。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2025-2-6 11:01, Processed in 0.152749 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表