flutter 删除之前通过Overlayofcontextinsertentry;添加的entry
要删除之前添加的entry,可以通过Overlay的remove方法来实现。具体操作如下:
- 获取OverlayState对象:
OverlayState overlayState = Overlay.of(context);
- 调用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方法删除即可。
原文地址: https://www.cveoy.top/t/topic/bp57 著作权归作者所有。请勿转载和采集!