Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
405 views
in Technique[技术] by (71.8m points)

Getting error when I use Media Query in flutter web?

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

  }

I am getting this error and I have no idea how to solve it


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can't declare the MediaQuery above the Material app and it needs context. So the proper declaration should be like this.

class Main extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Test(),
    );
  }
}



   
class Test extends StatelessWidget {
  const Test({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    final screenSize = MediaQuery.of(context).size.width;
    return Container(
      child: Scaffold(
    body: ( !kisweb || screenSize <= 600) ? MyHomePageMobile() : MyHomePage(),
  ),
    );
  }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...