Flutter Widget如何显示隐藏

4 min read

三元表达式

visible ? Padding(padding: EdgeInsets.all(30), child: Text('yechaoa')) : Container(),

透明度

Opacity(
  opacity: visible ? 1.0 : 0.0,
  child: Padding(
  padding: EdgeInsets.all(30),
  child: Text('Now you see me, now you don\'t!'),
  ),
),

pacity 其实是根据visible 控制透明度而已,其实还是占位的,相当于invisible

偏移量

Offstage(
  offstage: visible,
    child: Column(
      children: <Widget>[
      ...
      ],
  ),
),

offstage为true时表示不渲染,也不占位,相当于gone

Visibility 组件

Visibility(
  visible: targetLanguage == "EN",
  child: buildCamelIcon(),
 ),