如何使用函数删除叠加层条目?

时间:2019-05-08 17:08:01

标签: dart flutter

所以我有一个覆盖层,几秒钟后我可以使用future.delay函数和函数entry.remove();

将其自动删除

但是我想通过单击将其删除,我添加了一个手势检测器,但是问题是我无法在声明它之前将其删除,如果我调用了将其删除的函数,则不能,因为该函数是在声明之后它和我不能在覆盖之前声明该函数,因为尚未声明覆盖。你们如何处理这种情况?

我是新手,如果太傻了,就对不起。

编辑:代码:

  showOverlay(BuildContext context) async{

    OverlayState overlayState = Overlay.of(context);

    OverlayEntry entry= OverlayEntry(

      builder: (context) => GestureDetector(

//onTap: (){entry.remove();}, cant remove because its not currently declared.
//onTap: removeEntry, cant call the function because not declared yet i.e not declared before calling, it is declared after below.\


  child:Center(
    child: Container(
    width: 40, 
    hieght: 40, 
    color: Colors.black)));

  overlayState.insert(entry);

  void removeEntry(){
  entry.remove();
  }

}

0 个答案:

没有答案