![e0630193d2b552148225095ac862d0d0.png](https://i-blog.csdnimg.cn/blog_migrate/e89ef501646849e8b6e8bd8cb4d47505.jpeg)
注意:无特殊说明,Flutter版本及Dart版本如下:
Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0
MediaQuery
通常情况下,不会直接将MediaQuery当作一个控件,而是使用MediaQuery.of获取当前设备的信息,用法如下:
var data = MediaQuery.of(context);
此方式必须放在MediaQuery作用域内,否则会抛出异常,MaterialApp和WidgetsApp都引入了MediaQuery,并且随着屏幕的变化而导致重建,比如旋转屏幕、弹出输入框等。
MediaQueryData
MediaQueryData是MediaQuery.of获取数据的类型。说明如下:
属性 说明 size 逻辑像素,并不是物理像素,类似于Android中的dp,逻辑像素会在不同大小的手机上显示的大小基本一样,物理像素 = size*devicePixelRatio。 devicePixelRatio 单位逻辑像素的物理像素数量,即设备像