flutter有两种方法Offstage和Visibility可以控制widget的隐藏
Offstage
这种方法可以是widget大小为0,GONE的效果,也可以满足动态添加的需求
Offstage(
offstage: true,
child: Text("补测"),
),
如果offstage为true表示隐藏,默认是true。
Visibility
不仅可以实现GONE的效果,还可以实现INVISIBLE的效果,即不显示但还占据空间。还有更多功能,比如隐藏后是否响应事件等等。
Visibility(
visible: true,
child: Text("补测"),
),
如果visible是true代表显示,否则隐藏。
默认隐藏是不占据空间的,如果想保留空间大小,需要添加几个属性
Visibility(
visible: true,
maintainAnimation: true,
maintainSize: true,
maintainState: true,
child: Text("补测"),
),
其中maintainSize就是保持大小不变,但是单独设置这一个不行,会报错,maintainAnimation和maintainState也需要同时设置。