【问题标题】:Flutter Issue: No MediaQuery ancestor could be found starting from the contextFlutter 问题:从上下文开始找不到 MediaQuery 祖先
【发布时间】:2021-03-03 17:54:26
【问题描述】:

正在执行热重启...正在将文件同步到设备 sdk gphone x86 arm... 在 1,910 毫秒内重新启动应用程序。

════════ 小部件库捕获的异常 ══════════════════════════════════════════════════ ═════以下 断言在构建 MyApp(状态:_MyAppState#6de06)时被抛出: MediaQuery.of() 调用的上下文不包含 媒体查询。

从上下文中找不到 MediaQuery 祖先 已传递给 MediaQuery.of()。这可能发生,因为您没有 一个 WidgetsApp 或 MaterialApp 小部件(这些小部件引入了一个 MediaQuery),或者如果您使用的上下文来自 这些小部件上方的小部件。使用的上下文是:脚手架脏
状态:ScaffoldState#edc68(生命周期状态:已初始化,代码: 跟踪 2 个股票代码)相关的导致错误的小部件是:MyApp file:///S:/Businesses/Furniture/APP/movonpf/lib/main.dart:10:10 什么时候 抛出异常,这是堆栈: #0 MediaQuery.of (package:flutter/src/widgets/media_query.dart:819:5) #1 ScaffoldState.didChangeDependencies (package:flutter/src/material/scaffold.dart:2207:50) #2 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4786:12) #3 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5) ... 正常 元件安装(9 个框架)... ══════════════════════════════════════════════════ ══════════════════════════════════════════════════

════════ 小部件库捕获的异常 ══════════════════════════════════════════════════ ═════以下 断言在构建 MyApp(状态:_MyAppState#6de06)时被抛出: MediaQuery.of() 调用的上下文不包含 媒体查询。

从上下文中找不到 MediaQuery 祖先 已传递给 MediaQuery.of()。这可能发生,因为您没有 一个 WidgetsApp 或 MaterialApp 小部件(这些小部件引入了一个 MediaQuery),或者如果您使用的上下文来自 这些小部件上方的小部件。使用的上下文是:脚手架脏
状态:ScaffoldState#b5bf9(生命周期状态:已初始化,代码: 跟踪 2 个股票代码)相关的导致错误的小部件是:MyApp file:///S:/Businesses/Furniture/APP/movonpf/lib/main.dart:10:10 什么时候 抛出异常,这是堆栈: #0 MediaQuery.of (package:flutter/src/widgets/media_query.dart:819:5) #1 ScaffoldState.didChangeDependencies (package:flutter/src/material/scaffold.dart:2207:50) #2 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4786:12) #3 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5) #4 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14) ... ══════════════════════════════════════════════════ ══════════════════════════════════════════════════

════════ 小部件库捕获的异常 ══════════════════════════════════════════════════ ═════ MediaQuery.of() 调用的上下文不包含 媒体查询。相关的导致错误的小部件是:MyApp file:///S:/Businesses/Furniture/APP/movonpf/lib/main.dart:10:10

import 'package:flutter/material.dart';
import 'package:movonpf/views/login_page.dart';
import 'package:splashscreen/splashscreen.dart';
import 'package:firebase_core/firebase_core.dart';


void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Container(
            child: SplashScreen(
            seconds: 1,
               image: Image.asset('assets/movonSplash.gif'),
              photoSize: 200.0,
              loaderColor: Colors.white,
              navigateAfterSeconds: LoginScreen(),
    ))
    );
  }
}

【问题讨论】:

    标签: flutter


    【解决方案1】:

    MaterialApp 包装Scaffold 小部件以提供MediaQuery。

    【讨论】:

      猜你喜欢
      • 2021-03-31
      • 2023-03-09
      • 2021-10-08
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多