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

sha*_*ini 0 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);
});
Run Code Online (Sandbox Code Playgroud)

Ala*_*ohn 5

步骤1:

bool _visible = false;
Run Code Online (Sandbox Code Playgroud)

第2步:

void _toggle() {
    setState(() {
      _visible = !_visible;
    });
  }
Run Code Online (Sandbox Code Playgroud)

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

onPressed: _toggle,
Run Code Online (Sandbox Code Playgroud)

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

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

Visibility(
  child: Text("Gone"),
  visible: _visible,
),
Run Code Online (Sandbox Code Playgroud)

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

Visibility(
  child: Text("Invisible"),
  maintainSize: true, 
  maintainAnimation: true,
  maintainState: true,
  visible: _visible, 
),
Run Code Online (Sandbox Code Playgroud)


Gov*_*iyo 2

您正在将硬代码false传递给按钮的方法,hideTextVisibility(false);只需在此处进行更改hideTextVisibility(visibilityStatus);