flutter-MediaQuery常用属性简介

MediaQueryflutter 中有不少常用属性,下面主要介绍一些常用属性,如果还有其他的内容,可以到其他地方搜索,这边文章主要做个记录,以便日后查看

比如我们常用的属性

//获取屏幕尺寸
MediaQuery.of(context).size
//顺便提一下,当前组件渲染完毕之后的size
context.size
复制代码

MediaQuery

MediaQuery 可以用来处理不少设备或者组件问题,通过该组件,可以更新各种内容,例如屏幕旋转,内边距等

其原本这样,其他的一些组属性不少都是基于该组件的

const MediaQuery({
    Key key,
    @required this.data,
    @required Widget child,
})
复制代码

MediaQuery.removePadding

MediaQuery的工厂构造方法,通过该属性可以设置由于系统导致的内边距问题,例如:ios滚动视图的边距等,使用时,只需要将 removeTop设置为true,使用它的child包裹我们的组件即可

MediaQuery.removePadding({
  Key? key,
  required BuildContext context,
  bool removeLeft = false,
  bool removeTop = false,
  bool removeRight = false,
  bool removeBottom = false,
  required Widget child,
});
复制代码

例如:

MediaQuery.removePadding(
    removeTop: true,
    context: context,
    child: ListView(
        children:[]
    ),
);
复制代码

MediaQuery.of(context)

只需要传入当前 context 就可以获取系统的一些信息,如下所示,可以合理用来调整我们的布局,下面为一些常用属性

size: 屏幕尺寸

devicePixelRatio: 屏蔽像素百分比

platformBrightness: 为明暗风格(正常模式、黑暗模式)

orientation: 屏幕方向

viewInsets 为键盘弹出时等遮挡屏幕边距,其中 viewInsets.bottom 为键盘高度

猜你喜欢

转载自juejin.im/post/7086001571556753445