MaterialApp 构建器错误:找不到覆盖小部件

2024-04-22

我在构建 navigationDrawer 时遇到错误,其中 tootlip 小部件需要 MaterialApp 作为祖先。

这是错误的内容:

I/flutter ( 5780): _TooltipState#bc79e(ticker inactive)):
I/flutter ( 5780): No Overlay widget found.
I/flutter ( 5780): Tooltip widgets require an Overlay widget ancestor for correct operation.
I/flutter ( 5780): The most common way to add an Overlay to an application is to include a MaterialApp or Navigator
I/flutter ( 5780): widget in the runApp() call.
I/flutter ( 5780): The specific widget that failed to find an overlay was:
I/flutter ( 5780):   Tooltip
I/flutter ( 5780): 
I/flutter ( 5780): The relevant error-causing widget was:
I/flutter ( 5780):   AppBar

my main.dart code

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      ... //basic info title & theme

      builder: (context, child) => LayoutTemplate(child: child),
      initialRoute:"/home",

      ... //Routing stuff like generate route & navigator key 
    );
  }
}

布局模板小部件

class LayoutTemplate extends StatelessWidget {
  final Widget child;

  const LayoutTemplate({Key key, this.child}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: Text("home"))
        drawer: NavDrawer()
        body: Column(
          children: <Widget>[
            //NavigationBar(),
            Expanded(
              child: child,
            )
          ],
       ),
    );
  }
}

抱歉添加了太多代码。我不确定是什么导致了这个问题。也许是builder from MaterialApp正在造成它。

感谢您的帮助。


在您的构建器中,只需返回一个 Overlay 小部件,并将 LayoutTemplate 作为 OverlayEntry。

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      ... //basic info title & theme

      builder: (context, child) {
        return Overlay(
          initialEntries: [
            OverlayEntry(
              builder: (context) => LayoutTemplate(child: child),
            ),
          ],
        );
      },
      initialRoute:"/home",

      ... //Routing stuff like generate route & navigator key 
    );
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MaterialApp 构建器错误:找不到覆盖小部件 的相关文章

随机推荐

  • 画布图像的图像效果不通过 php 上传保存,但适用于下载同一画布文件

    这是显示该问题的 YouTube 视频 https www youtube com watch v znzLQSYlsKM https www youtube com watch v znzLQSYlsKM 我给出了视频描述中涉及的所有代码
  • AngularJS 从文本创建 html/link/anchor (escape/unescape html in view)

    我有一个具有指定值的控制器 scope post please visit http stackoverflow com quickly 我的 html 中有一些文本 p post p 我想制作一个可点击的网址链接 用锚标记包围它 我尝试将
  • 使用 HTML5sortable 序列化 AJAX 数据

    我正在使用一个简洁的 jQuery 排序插件 HTML5 Sortablehttp farhadi ir projects html5sortable http farhadi ir projects html5sortable 但还没有找
  • OpenGL 将着色器附加到程序

    有没有办法访问附加到程序的着色器 也就是说 给定一个程序 我可以做类似的事情 vertexShader getVertexShaderFromProgram program 我想在验证我的程序的函数中记录着色器编译状态 但我只保留对程序的引
  • 指定回归线截距(R & ggplot2)

    背景 我当前的情节如下所示 PROBLEM 我想强制 station 1 的回归线从 1 开始 CODE library ggplot2 READ IN DATA var x c 2001 2002 2003 2004 2005 2006
  • 颤振上的 ERROR_ALREADY_REQUESTING_PERMISSIONS

    我使用 flutter 创建一个 android 应用程序 在应用程序运行时第一次创建权限请求 因此当用户单击拒绝然后单击登录按钮时 会再次请求权限 我收到这个错误 Exception has occurred PlatformExcept
  • jquery 移动列表视图样式

    我正在尝试设置列表视图控件的样式 但遇到问题 当我将图像宽度设置为 40px 如标记中所示 时 我似乎无法让内容正确地向左对齐 IE 我不想要图像和文本之间的间隙 这是我的标记 ul class ui listview li class u
  • 从 JAVA 8 连接到 SQL Server 2005

    正在准备一些代码用于从 VB SQL Server 迁移到基于 JAVA Oracle DB 的新解决方案 因此我尝试连接 SQL Server 来查询一些数据 然后将它们放在我们新的 Oracle 表中 但是当我尝试通过此连接时代码 Dr
  • 任何人都可以使用 GetIt!在 Delphi 10.4.1 中安装任何产品?

    自周五 10 月 16 日 以来 我一直在尝试使用 GetIt 安装任何内容 例如组件或其他任何与此相关的内容 当我按下 Icons8 1 0 的安装按钮时 我收到一条错误消息 Loading EULAS Cannot load data
  • NSURLSession 帖子:uploadTask 和 dataTask 之间的区别

    这是我的两个例子 let config NSURLSessionConfiguration defaultSessionConfiguration config HTTPAdditionalHeaders Accept applicatio
  • Android 上的 React 本机异步存储限制

    我正在开发一个 React Native 应用程序 它很容易超过 6mb 的限制 根据this https github com facebook react native blob master ReactAndroid src main
  • Spring Neo4j:通过不同控制台执行时相同的密码查询花费不同的时间

    通过不同控制台执行相同的密码查询会花费不同的时间 通过执行spring data neo4j 花了 8 秒 Query MATCH user User uid 0 FRIEND friend User RETURN friend publi
  • 无法使用 ShopifyAPI 更新变体价格

    我面临一个问题 无法使用 ShopifyAPI 更新变体的价格 更新变体的价格时 出现错误 remote errors validation context nil errors gt messages base gt 选项不唯一 根据另一
  • React Native SDK 与 expo SDK 不兼容

    当我使用 expo 运行 React Native 项目时 出现此错误 此项目使用 SDK 38 0 0 但此版本的 Expo Go 仅支持以下 SDK 43 00 42 0 0 41 0 0 40 0 0 加载项目 必须更新到受支持的 S
  • Vue 绑定到外部对象

    我正在尝试使用 Vue 作为一个非常薄的层来将现有模型对象绑定到视图 下面是一个玩具应用程序 说明了我的问题 我有一个GainNode https developer mozilla org en US docs Web API GainN
  • 如何在 Jenkins Build Execute Shell 中运行 docker 命令

    我是詹金斯的新手 我一直在四处寻找 但找不到我要找的东西 我想知道如何在 Jenkins 中运行 docker 命令 构建 执行 Shell 例子 docker run hello world 我在 Jenkins 配置系统中将 Docke
  • 设置纵横比时 Pyplot imshow 不显示方形像素

    我在使用 Pyplot 时遇到一些问题imshow从 numpy 中绘制图像ndarray called data保持其纵横比和方形像素 的形状ndarray is 112 2182 这是我正在使用的代码 import matplotlib
  • NDS 求解波动方程时的不稳定性

    我正在尝试使用NDSolve求解波动方程 以检查使用它是否比我的旧特征方程更容易和 或更快 方法实施 我得到了很多特征方法没有得到的不稳定性 并且由于这些是简单的方程 我想知道出了什么问题 希望不是问题的物理方面 ans Flatten N
  • 如何在 ZedGraph 中同步三个 GraphPane?

    使用时ZedGraph要在三个 GraphPane 上显示六个图表 如第一张图片所示 所有图表都是同步的 但是 当我尝试显示第一个窗格的日期时 图表不同步 如第二张图片所示 重要的是所有六个图表保持同步 以便用户理解整个图表 我已经按照建议
  • MaterialApp 构建器错误:找不到覆盖小部件

    我在构建 navigationDrawer 时遇到错误 其中 tootlip 小部件需要 MaterialApp 作为祖先 这是错误的内容 I flutter 5780 TooltipState bc79e ticker inactive