gpt4 book ai didi

dart - 使用不包含 MediaQuery 的上下文调用的 Flutter 错误 : MediaQuery. of()

转载 作者:IT老高 更新时间:2023-10-28 13:49:31 26 4
gpt4 key购买 nike

我一直试图在 Flutter 中获取整个上下文 View 的大小。但每次我尝试我都会收到上述错误。这是我的代码:

import 'package:flutter/material.dart';

void main => runApp(new MyApp());

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {

final size = MediaQuery.of(context).size;
return new MaterialApp(
home: new Scaffold(),
);
}
}

注意:我也尝试使用 StatefulWidget。请帮我找出我做错了什么。

最佳答案

您需要一个 MaterialApp 或一个 WidgetsApp 围绕您的小部件。他们提供 MediaQuery。当您调用 .of(context) 时,flutter 将始终查找小部件树以找到小部件。

你通常在 main.dart 中有这个:

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

class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Title',
theme: kThemeData,
home: HomePage(),
);
}
}

class HomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
final size = MediaQuery.of(context).size;

return Container(
child: ...,
);
}
}

关于dart - 使用不包含 MediaQuery 的上下文调用的 Flutter 错误 : MediaQuery. of(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50214338/

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