首页 > 解决方案 > 如何使用自己的 onPressed 函数删除按钮

问题描述

编辑:在将不透明度设置为 0 的行之后添加 20 毫秒的延迟。

我有一个可以截屏的 FAB。但我不希望它出现在屏幕截图中。因此,它是可见性小部件的子元素,并且它首先要使自己不可见。但是,该函数的其余部分没有运行并给出错误:

查找死掉的小部件的祖先是危险的

不透明度不起作用,因为我猜,即使它的不透明度为 0,它仍然是小部件树的一部分,并且包含在屏幕截图中。

如何保留小部件但使其在屏幕截图中不可见?

标签: flutter

解决方案


你可以用显示条件包装你的容器

child: (showBtn ?
    FlatButton(
      onPressed: () => setState(() => showBtn = false),
    )
  :
    Container()
  ),

推荐阅读