不受路由影响的弹窗和进度指示器-Overlay

class NBLoading{
  static OverlayEntry? _entry;
  static Widget? _showWidget;
  static void show(BuildContext context,Widget widget){
    _showWidget = widget;
    if(_entry == null) {
      _entry = OverlayEntry(builder: (_) => _showWidget!);
      Overlay.of(context).insert(_entry!);
    }else{
      _entry!.markNeedsBuild();
    }
  }

  static void dismiss(){
    _entry?.remove();
    _showWidget = null;
    _entry = null;
  }
}

 

posted @ 2025-07-01 17:57  呢哇哦比较  阅读(6)  评论(0)    收藏  举报