gpt4 book ai didi

flutter - 使用不显示 MediaQuery 错误的上下文调用 MediaQuery.of(),即使 MediaQuery 未在应用程序中使用

转载 作者:IT王子 更新时间:2023-10-29 07:07:51 24 4
gpt4 key购买 nike

我是 Flutter 的初学者,我正在尝试制作一个带有 AppBar 的简单应用,其标题显示文本“你好”

通过 Android Studio 执行代码时,我总是收到错误

MediaQuery.of() called with a context that does not contain a MediaQuery.

为什么即使我不调用 MediaQuery.of() 也会调用此错误?我该如何解决这个问题

我最初以为这是 flutter 或 Android Studio 的问题。我用了 flutter doctor,一切都很好。具体代码如下所示:

[√] Flutter (Channel stable, v1.2.1, on Microsoft Windows [Version 10.0.17134.706], locale
en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Android Studio (version 3.4)
[√] VS Code (version 1.33.1)
[√] Connected device (1 available)

• No issues found!

我意识到 Flutter 框架本身可能不是问题。

然后我决定重启 Android Studio,因为它本身可以自行解决问题。不幸的是,讨厌的错误仍然显示

这是我的代码。

import 'package:flutter/material.dart';

void main() => runApp(myApp());

class myApp extends StatelessWidget{
Widget build(BuildContext context){
return Scaffold(
appBar: AppBar(
title: Text("Hi there")
)
);
}
}

我希望看到一个标题为“你好”的 AppBar,但我收到了一个错误。

最佳答案

MediaQueryScaffold 内部组件用来布局其子组件,从其 source code 可以明显看出.因此,它需要包装在一个提供 MediaQuery 的小部件中,例如 MaterialApp 小部件,它继承自 WidgetsApp。 :

void main() => runApp(myApp());

class myApp extends StatelessWidget{
Widget build(BuildContext context){
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Hi there")
)
),
);
}
}

关于flutter - 使用不显示 MediaQuery 错误的上下文调用 MediaQuery.of(),即使 MediaQuery 未在应用程序中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56105359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com