如何解决flutter中的MediaQuery错误



最近,我在Flutter中遇到了这个错误:

使用不包含MediaQuery的上下文调用了

MediaQuery.of((。

这是我的代码:

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
void main(){
runApp(Home());
}
class Home extends StatefulWidget {
@override
_HomeState createState() => _HomeState();
}
class _HomeState extends State<Home> {
@override
Widget build(BuildContext context) {
final size = MediaQuery.of(context).size;
return  MaterialApp(
title: 'Refresh my mind',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.red,
),
home:Scaffold(
appBar: AppBar(
title: Text("Hello"),
leading: Icon(
Icons.ac_unit
),
actions: [Icon(Icons.account_balance),
Icon(Icons.airplanemode_active),
Icon(Icons.autorenew),],
elevation: 12,
),
backgroundColor: Colors.teal,
body: Container(
color: Colors.black12,
margin: EdgeInsets.all(20),
child: Center(
child: Card(
elevation: 5.0,
color: Colors.grey,
child: Container(
width: size.width/1.5,
height: 200,
),
),
),
),
),
);
}
}

我在互联网上搜索,发现我必须使用MaterialApp小部件或WidgetApp,但我在代码中使用了MaterialApp。

所以我想知道,应该是什么错误?

谢谢

这可能是因为MaterialApp尚未初始化。尝试将您的主页小部件移动到一个单独的文件(例如home_screen.dart(,并将其传递给MaterialApp,如:

MaterialApp(home:HomeScreen())

在HomeScreen中使用MediaQuery

相关内容

  • 没有找到相关文章