定义:
不可见:小部件占用屏幕上的物理空间,但对用户不可见。这可以使用可见度小部件来实现。
消失:小部件不占用任何物理空间,完全消失。这可以使用Visibility, if或if-else条件来实现。
无形的例子:
Visibility(
child: Text("Invisible"),
maintainSize: true,
maintainAnimation: true,
maintainState: true,
visible: false,
),
例子:
Visibility(
child: Text("Gone"),
visible: false,
),
使用如果:
对于一个孩子:
列(
孩子们:<部件> (
Text('Good Morning'), //始终可见
if (wishOnePerson) Text(' Mr ABC'), //只有条件为真时才可见
),
)
对于多个孩子:
列(
孩子:(
Text('Good Morning'), //始终可见
如果(但愿)……[//只有当condition为true时,这些子元素才可见
文本(“ABC先生”),
文本(“DEF先生”),
文本(“某某先生”),
),
),
)
使用if - else:
对于一个孩子:
列(
孩子们:<部件> (
//基于'isMorning'条件,只有一个是可见的
if (isMorning) Text('Good Morning')
Text ('Good Evening'),
),
)
对于多个孩子:
列(
孩子:(
//在' beforeSunset '条件下,只会显示一个子元素
if (beforeSunset)…[
文本(“早上好”),
文本('下午好'),
其他的…[
文本(“晚上好”),
文本('晚安'),
),
),
)