欢迎光临
我们一直在努力

flutter不能忽略所有警告吗,flutter 错误提示

文章目录 一、报错信息二、解决方案

一、报错信息

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\flutter-apk\app.apk…Uninstalling old version…Error: ADB exited with exit code 1Performing Streamed Installadb: failed to install D:\002_Project\002_Android_Learn\flutter_animation\build\app\outputs\flutter-apk\app.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package kim.hsl.flutter_animation signatures do not match previously installed version; ignoring!]Installing build\app\outputs\flutter-apk\app.apk…Debug service listening on ws://127.0.0.1:59548/20KwYgDmkUc=/wsSyncing files to device Pixel 2…======== Exception caught by widgets library =======================================================The following 香港vps assertion was thrown building HeroAnimation:No MediaQuery widget ancestor found.Scaffold widgets require a MediaQuery widget ancestor.The specific widget that could not find a MediaQuery ancestor was: Scaffold dirty state: ScaffoldState#6ef6f(lifecycle state: initialized, tickers: tracking 2 tickers)The ownership chain for the affected widget is: “Scaffold ← HeroAnimation ← [root]”No MediaQuery ancestor could be found starting from the context that was passed to MediaQuery.of(). This can happen because you have not added a WidgetsApp, CupertinoApp, or MaterialApp widget (those widgets introduce a MediaQuery), or it can happen if the context you use comes from a widget above those widgets.The relevant error-causing widget was: HeroAnimation file:///D:/002_Project/002_Android_Learn/flutter_animation/lib/main.dart:5:10When the exception was thrown, this was the stack: #0 debugCheckHasMediaQuery.<anonymous closure> (package:flutter/src/widgets/debug.dart:219:7)#1 debugCheckHasMediaQuery (package:flutter/src/widgets/debug.dart:234:4)#2 MediaQuery.of (package:flutter/src/widgets/media_query.dart:820:12)#3 ScaffoldState.didChangeDependencies (package:flutter/src/material/scaffold.dart:2820:50)#4 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4725:11)…====================================================================================================

出错代码 :

void main() { runApp(HeroAnimation());}class HeroAnimation extends StatelessWidget{ @override Widget build(BuildContext context) { // 时间膨胀系数 , 用于降低动画运行速度 timeDilation = 10.0; return Scaffold( appBar: AppBar( title: Text(“Hero 动画演示( 跳转前页面 )”), ), body: Center( child: HeroWidget( imageUrl: “https://img-blog.csdnimg.cn/20210329101628636.jpg”, width: 300, ), ), ); }}

二、解决方案

出现上述问题 , 是因为在界面的根组件 , 没有使用 MaterialApp 组件 , 在 main.dart 中的 main 函数中 , 运行的组件的根组件必须是 MaterialApp ;

在 Scaffold 组件的外层包裹一层 MaterialApp , 即可解决问题 ;

class HeroAnimation extends StatelessWidget{ @override Widget build(BuildContext context) { // 时间膨胀系数 , 用于降低动画运行速度 timeDilation = 10.0; return MaterialApp( home: Scaffold( appBar: AppBar( title: Text(“Hero 动画演示( 跳转前页面 )”), ), body: , ), ); }}

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。