要删除之前添加的entry,可以通过Overlay的remove方法来实现。具体操作如下:

  1. 获取OverlayState对象:
OverlayState overlayState = Overlay.of(context);
  1. 调用remove方法删除entry:
overlayState.remove(entry);

其中,entry是添加到Overlay中的widget对应的OverlayEntry对象。如果不知道entry的具体对象,可以通过在添加时保存entry对象的方式来获取。例如:

OverlayEntry entry = OverlayEntry(builder: (BuildContext context) {
  return Container(
    child: Text('Overlay Widget'),
  );
});

OverlayState overlayState = Overlay.of(context);
overlayState.insert(entry);

// 保存entry对象
this._overlayEntry = entry;

这样就可以在需要删除时获取到_overlayEntry对象,然后调用remove方法删除即可。

flutter 删除之前通过Overlayofcontextinsertentry;添加的entry

原文地址: https://www.cveoy.top/t/topic/bp57 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录