要删除之前添加的 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 删除 Overlay 添加的 OverlayEntry

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

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