草庐IT

overlayEntry

全部标签

flutter:使用 overlay 实现 loading

前言最初,我们在项目中使用showDialog的方式实现loading。问题点:任意一个pop操作都能hideloading,无法统一管理loading的显隐。Overlay是什么?当我们创建MaterialApp的时候,它会自动创建一个Navigator,Navigator则又会创建一个Overlay:一个navigator用来管理所展示的views视图的Stack组件。overlay能干的事情很多,例如loading,toast,popWindow等等悬浮框能力都可以通过overlay来实现。下面我们通过loading样例来了解overlay的使用。实现简单,直接上代码:classLoad

dart - 如何从 Overlay 中删除 OverlayEntry?

我只是想删除我之前插入到Overlay中的OverlayEntry:rootOverlay.insert(entry);但我似乎无法找到一种方法。我确实在OverlayState类中找到了一个私有(private)方法_remove,但我无法访问它。我错过了什么吗?你会如何在Flutter中做到这一点? 最佳答案 remove方法不在OverlayState内部,而是在OverlayEntry本身entry.remove() 关于dart-如何从Overlay中删除OverlayEntr

dart - 如何从 Overlay 中删除 OverlayEntry?

我只是想删除我之前插入到Overlay中的OverlayEntry:rootOverlay.insert(entry);但我似乎无法找到一种方法。我确实在OverlayState类中找到了一个私有(private)方法_remove,但我无法访问它。我错过了什么吗?你会如何在Flutter中做到这一点? 最佳答案 remove方法不在OverlayState内部,而是在OverlayEntry本身entry.remove() 关于dart-如何从Overlay中删除OverlayEntr

dart - Flutter 中 OverlayEntry 引起的 Navigator.push() 断言

我正在尝试在启动后立即处理我的应用程序的屏幕。预期路线为:boot->checkifisloggedin->ifyes->navigator.push()toMainWindow.boot->checkifisloggedin->nosnapshotdata->navigator.push()toLoadingScreen.boot->checkifisloggedin->ifno->navigator.push()toLoginScreen.一个函数在由MaterialApp主属性运行的启动时处理这种路由机制。main.dart:Widgetbuild(BuildContextcon

dart - Flutter 中 OverlayEntry 引起的 Navigator.push() 断言

我正在尝试在启动后立即处理我的应用程序的屏幕。预期路线为:boot->checkifisloggedin->ifyes->navigator.push()toMainWindow.boot->checkifisloggedin->nosnapshotdata->navigator.push()toLoadingScreen.boot->checkifisloggedin->ifno->navigator.push()toLoginScreen.一个函数在由MaterialApp主属性运行的启动时处理这种路由机制。main.dart:Widgetbuild(BuildContextcon

flutter - 如何在 Flutter 中使用 pushNamed 导航后使 OverlayEntry 消失

我正在尝试制作如下所示的叠加层:https://www.didierboelens.com/2018/06/how-to-create-a-toast-or-notifications-notion-of-overlay/使用OverlayEntry.import'package:flutter/material.dart';import'dart:async';classShowNotificationIcon{voidshow(BuildContextcontext)async{OverlayStateoverlayState=Overlay.of(context);Overlay

flutter - 在 Flutter 中添加 OverlayEntry

我正在尝试将Container插入Overlay,但此代码出错。class_MyHomePageStateextendsState{@overridevoiddidChangeDependencies(){super.didChangeDependencies();finalentry=OverlayEntry(builder:(BuildContextoverlayContext){returnContainer(height:50.0,width:50.0,color:Colors.blue,);});_addOverlay(entry);}void_addOverlay(Over