在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