Flutter开发:使用SafeArea(安全区域)

雷曜灿
2023-12-01

前言

在Flutter开发中,对于各种手机机型的适配是一个非常重要的事情,尤其是Android系统的机型太多太杂,适配起来不是易事,而且对于iOS系统的iPhone手机的“刘海”适配也是关键的一个知识点。那么本篇博文就来分享一下关于SafeArea的使用,SafeArea也是各种稀奇古怪不规则的屏幕适配的最佳利器,方便查阅使用。

原理

SafeArea是通过MediaQuery来检测屏幕尺寸,让应用程序的大小能与屏幕适配,然后返回了一个Padding Widget 来包裹住编写的页面,这样页面就不会被不规则的屏幕给遮挡了。SafeArea基本上是美化的Padding小部件,如果使用SafeArea包装另外一个小部件,它将添加所需的必要填充,以防止小部件被各种制造商的系统状态栏、凹口、孔、圆角和其他"创意"功能所阻塞掉。

示例

接下来就来以是否设置安全区域来做一个对比演示,对比一下使用SafeArea后和未使用SafeArea的效果。具体代码如下所示:

1、修改前,未加安全区域设置的代码示例:

Widget build(BuildContext context) {

    return Scaffold(

        backgroundColor: Color.fromRGBO(241, 241, 241, 1),

        body: Column(children: [

          _buildhead(),

          Expand
 类似资料: