flutter 报错之 No MediaQuery widget found.

news/2025/1/3 7:25:02/

这里通过一个HelloWorld app来展示如何创建一个Widget并展示出来,并区分Material和非Material环境。
hello_word.dart里的代码如下:  MaterialApp

class HelloWorld {static Widget helloWorld() {return new MaterialApp(title: 'Hello World',theme: new ThemeData(primarySwatch: Colors.blue,),home: new Scaffold(appBar: new AppBar(title: new Text('Hello World')),body: new Center(child: new Text("Hello World",style: new TextStyle(fontSize: 32.0),)),),);}static Widget hellWorldWithoutMaterial() {return new Container(decoration: new BoxDecoration(color: Colors.white),child: new Center(child: new Text('Hello World',textDirection: TextDirection.ltr, // 这一句必须有style: new TextStyle(color: Colors.black, fontSize: 40.0),),),);}
}

而在展示上,主要的区别在于非Material下,没有Appbar、背景色和标题等,所有的内容都需要自定义。

注意⚠️:

1、Scaffold必须放在MaterialApp里面,否则会报错,大致如下:

══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following assertion was thrown building Scaffold(dirty, state: ScaffoldState#6f74d):
No MediaQuery widget found.
Scaffold widgets require a MediaQuery widget ancestor.
The specific widget that could not find a MediaQuery ancestor was:
Scaffold
The ownership chain for the affected widget is:
Scaffold ← MyApp ← [root]
Typically, the MediaQuery widget is introduced by the MaterialApp or WidgetsApp widget at the top of
your application widget tree.


 


http://www.ppmy.cn/news/779322.html

相关文章

删除掉指定目录下的.nomedia文件夹和文件

为了屏蔽一些文件我们会在手机sd卡中创建.nomedia文件夹或文件,系统不会扫描这个文件夹,也不会扫描包含.nomedia文件的文件夹中的文件。 有时候我们又想去除掉这个文件夹或者文件,可以使用下面方法,我在一个测试类中进行测试。 pa…

流媒体服务器(17)—— 流媒体开源服务 MediaSoup 初识

目录 前言 正文 一、简单介绍 二、关键特色 1. 超强 SFU 功能 2. Node.js 模块 3. 客户端 SDK 三、架构组成 1. 关键实例 2. 重要模块 四、发展现状 https://liuzhen.blog.csdn.net/article/details/115603863https://liuzhen.blog.csdn.net/article/details/1156038…

Android项目小记——nomedia文件与MediaStore媒体库

避免相册显示 避免相册显示项目底下的多媒体文件,如.mp4、.png等文件。在目录下放置一个.nomedia文件,则可以放置媒体库扫描该目录。 问题 项目使用了Android原生的分享功能,该功能需要用到媒体库的数据库,问题:不想…

【错误记录】Flutter 界面报错 ( No MediaQuery widget ancestor found. | Scaffold widgets require a MediaQuery )

文章目录 一、报错信息二、解决方案 一、报错信息 Flutter 应用运行时报如下错误 : Launching lib\main.dart on Pixel 2 in debug mode... Running Gradle task assembleDebug... √ Built build\app\outputs\flutter-apk\app-debug.apk. Installing build\app\outputs\flutt…

VMware16安装windows server 2022报蓝屏和No Media错误解决办法,图片如下:

下图错误可能是你在创建虚拟机的时候配置文件没有删干净,一定要把配置文件删干净,要不然肯定还会报错。 如果确定删干净了,还是不行,就在换一个同样版本的镜像,重新创建,就能打开虚拟机。并且能成功安装好你…

Android “.nomedia“ 文件的使用方法和原理

系统媒体数据库无法扫描到数据 1.插入一张SDCARD 2.push 3000左右图片到sdcard 3.重启 4.观察发现手机不能读取到图片数据 (读取方法:Images.Media.getContentUri(“external”)获取uri, 然后读取数据库) 5.push 1首歌曲 6.重启进入music,等待…

视频 服务器运行时失败,Windows Media Player服务器运行失败的解决办法讲解

当大家遇到Windows Media Player服务器运行失败,怎么解决呢?小编给大家分享一个Windows Media Player服务器运行失败的解决办法讲解,希望可以帮到大家。 Windows Media Player服务器运行失败的解决办法讲解 方法1 我们先打开“控制面板”->找到并打开“程序和功能”->…

解决Android图库不识别.nomedia的问题

解决Android图库不识别.nomedia的问题 参考文章: (1)解决Android图库不识别.nomedia的问题 (2)https://www.cnblogs.com/TianFang/archive/2012/11/22/2783415.html 备忘一下。