Flutter 在Flatter web中使用媒体查询时出错? 小部件构建(构建上下文){ 最终屏幕大小=MediaQuery.of(context).size.width; 返回新材料PP( debugShowCheckedModeBanner:false, 家:脚手架( body:(!kisweb | | screenSize

Flutter 在Flatter web中使用媒体查询时出错? 小部件构建(构建上下文){ 最终屏幕大小=MediaQuery.of(context).size.width; 返回新材料PP( debugShowCheckedModeBanner:false, 家:脚手架( body:(!kisweb | | screenSize,flutter,flutter-web,Flutter,Flutter Web,您不能在Material应用程序上方声明MediaQuery,它需要上下文。因此正确的声明应该如下所示 Widget build(BuildContext context) { final screenSize = MediaQuery.of(context).size.width; return new MaterialApp( debugShowCheckedModeBanner: false, home: Scaffold(

您不能在Material应用程序上方声明MediaQuery,它需要上下文。因此正确的声明应该如下所示

Widget build(BuildContext context) {
   
     final screenSize = MediaQuery.of(context).size.width;
    return new MaterialApp(
      debugShowCheckedModeBanner: false,
     
      home: Scaffold(
        body: ( !kisweb || screenSize <= 600) ? MyHomePageMobile() : MyHomePage(),
      ),
    );

  }
class Main扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
debugShowCheckedModeBanner:false,
主页:Test(),
);
}
}
类测试扩展了无状态小部件{
常量测试({Key}):超级(Key:Key);
@凌驾
小部件构建(构建上下文){
最终屏幕大小=MediaQuery.of(context).size.width;
返回容器(
孩子:脚手架(

body:(!kisweb | | screenSize您不能在Material应用程序上方声明MediaQuery,它需要上下文。因此正确的声明应该如下所示

Widget build(BuildContext context) {
   
     final screenSize = MediaQuery.of(context).size.width;
    return new MaterialApp(
      debugShowCheckedModeBanner: false,
     
      home: Scaffold(
        body: ( !kisweb || screenSize <= 600) ? MyHomePageMobile() : MyHomePage(),
      ),
    );

  }
class Main扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
debugShowCheckedModeBanner:false,
主页:Test(),
);
}
}
类测试扩展了无状态小部件{
常量测试({Key}):超级(Key:Key);
@凌驾
小部件构建(构建上下文){
最终屏幕大小=MediaQuery.of(context).size.width;
返回容器(
孩子:脚手架(

正文:(!kisweb | | screenSize LayoutBuilder更易于使用。我建议查看它。LayoutBuilder更易于使用。我建议查看它。