我正在尝试构建一个页面大小三分之一的容器,但出现错误No MediaQuery ancestor could be found starting from the context that was passed to MediaQuery.of().,我完全不知道为什么。它在MaterialApp.
我的代码:
import 'package:flutter/material.dart';
void main() => runApp(LoginPage());
class LoginPage extends StatelessWidget{
@override
Widget build(BuildContext context){
return MaterialApp(
home: Scaffold(
body: Container(
constraints: BoxConstraints.expand(),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Container(
color: Colors.red,
width: double.infinity,
height: MediaQuery.of(context).size.height/3,
)
],
)
)
)
);
}
}
Run Code Online (Sandbox Code Playgroud)
sri*_*785 10
你只需要把MaterialApp作为祖先......正如错误所说......
像这样做..
void main() => runApp(MaterialApp(home:LoginPage()));
Run Code Online (Sandbox Code Playgroud)
你必须有一个MaterialApp小部件,因为你正在使用Material你的类import statement
检查下面的代码,它工作正常:
import 'package:flutter/material.dart';
// wrap your LoginPage widget with a MaterialApp widget
void main() => runApp(MaterialApp(home:LoginPage()));
class LoginPage extends StatelessWidget{
@override
Widget build(BuildContext context){
return MaterialApp(
home: Scaffold(
body: Container(
constraints: BoxConstraints.expand(),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Container(
color: Colors.red,
width: double.infinity,
height: MediaQuery.of(context).size.height/3,
)
],
)
)
)
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4279 次 |
| 最近记录: |