Invisible: The widget takes physical space on the screen but not visible to user.
Gone: The widget doesn't take any physical space and is completely gone.
Invisible example
Visibility(
child: Text("Invisible"),
maintainSize: true,
maintainAnimation: true,
maintainState: true,
visible: false,
),
Gone example
Visibility(
child: Text("Gone"),
visible: false,
),
You can also use if
or if-else
.
Using if
Column(
children: <Widget>[
Text('Good Morning'), // Always visible
if (hasName) Text(' Mr ABC'), // Visible only if 'hasName' is true
],
)
Using if-else
Column(
children: <Widget>[
// Only one of them is visible based on 'isMorning' condition.
if (isMorning) Text('Good Morning')
else Text ('Good Evening'),
],
)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…