单击按钮在Flutter中隐藏文本小部件可见性

时间:2018-12-17 11:15:07

标签: flutter

我想使用“可见性”小部件来隐藏单击按钮时文本小部件的可见性。如何在Flutter中实现这一目标?我创建了一个函数,该函数接受一个bool变量,该变量定义了文本小部件的可见性。在单击按钮时,我正在调用该函数。第一次将文本显示给用户。但是单击该按钮,该文本不是不可见的。

//created a method to show and hide the text using visibility widget
hideTextVisibility(bool visibilityStatus){
return visibilityStatus? Visibility(
visible: visibilityStatus,
child: Text("flutter"),

):Container();}



//button click code and for the first time the text will be visible 
RaisedButton(onPressed: (){
setState(() {
hideTextVisibility(false);
});

2 个答案:

答案 0 :(得分:1)

第1步:

bool _visible = false;

第2步:

void _toggle() {
    setState(() {
      _visible = !_visible;
    });
  }

步骤3:  添加您的RaisedButton或任何其他按钮

onPressed: _toggle,

第4步: 像这样编码您的小部件。

已消失:该小部件不占用任何物理空间,并且完全消失了。

Visibility(
  child: Text("Gone"),
  visible: _visible,
),

不可见:该小部件占据了屏幕上的物理空间,但对用户不可见。

Visibility(
  child: Text("Invisible"),
  maintainSize: true, 
  maintainAnimation: true,
  maintainState: true,
  visible: _visible, 
),

答案 1 :(得分:0)

您要将硬编码 false 传递给按钮的方法hideTextVisibility(false);,只需在此处hideTextVisibility(visibilityStatus);

进行更改