所以我有一个覆盖层,几秒钟后我可以使用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();
}
}