如何通过在Flutter中隐藏或显示小部件?

时间:2019-09-14 02:06:26

标签: flutter dart

我的StatefulWidget中有这样的Material小部件

final _key = GlobalKey();

new Material(
   key: _key,
   color: Colors.white,
   child: Text('lorem ipsum')
)

然后我需要这样隐藏或显示Material小部件

new RaisedButton(
    child: Text('Click')
    color: Colors.green,
    onPressed: (){ _key.currentContext.hide; }
)

它不起作用,如何解决?谢谢

1 个答案:

答案 0 :(得分:0)

您可以将按钮设为管理可见性的任何此类小部件的子代,有关此blog post的更多信息,请点击此处,此处为摘要:

**可见性小部件** visibility widget

Visibility(
  visible: false,
  child: Container(),
  )
);

子窗口小部件未呈现在子树中,Flutter而是使用缩小尺寸的框来替换它。

**后台小部件** offstage widget

Offstage(
  offstage: true,
  child: //your child
  )
);

后台将子窗口小部件呈现在屏幕之外。这意味着该小部件未呈现在子树中,因此不会占用任何空间。

**不透明度小部件** opacity widget

 Opacity(
  opacity: 0.0,
  child: Container(
      child: //child here
  )
);

此小部件仅将孩子的不透明度设置为零,但仍将其渲染。因此,孩子是隐藏的,但会占用空间,您可以与其互动。