Flutter Widgets 之 SafeArea

2020-09-11 16:10:08 浏览数 (1)

一个

有态度

的程序员

现如今的手机已经不能提供给应用程序规整的矩形界面了,一些带圆角或者是刘海屏让应用程序的布局更加复杂,甚至是需要单独适配,这对开发者来来太糟糕了。

因此SafeArea控件应用而生,SafeArea通过`MediaQuery`检测屏幕的尺寸使应用程序的大小与屏幕适配。

创建一个铺满全屏的ListView,并显示数据,代码如下:

代码语言:javascript复制
ListView(
      children: List.generate(100, (i) => Text('老孟,一个有态度的程序员')),
    )

效果如图:

底部的数据明显被遮挡了,想要解决这个问题只需将ListView包裹在SafeArea中即可,代码如下:

代码语言:javascript复制
SafeArea(
      child: ListView(
        children: List.generate(100, (i) => Text('老孟,一个有态度的程序员')),
      ),
    )

效果如图:

我们甚至可以指定显示区域,默认情况下上下左右都是指定区域,如下代码去掉左侧区域:

代码语言:javascript复制
SafeArea(
  left: false,
    child: ListView(),
)

0 人点赞