一、背景

现在的手机屏幕尺寸外观多种多样,显示区域不再是方方正正的,一些带圆角或者是刘海屏让应用程序的布局更加复杂,甚至是需要单独适配,这对开发者来来太糟糕了。

因此SafeArea控件应用而生,SafeArea通过MediaQuery检测屏幕的尺寸使应用程序的大小与屏幕适配,自动避开遮挡区域。

它的原理是通过对被包装元素添加Padding来避开遮挡区域。因此可以分别指定上下左右4个区域是否需要添加Padding,例如下面的代码只在底部和左侧添加Padding用于避开遮挡区域。

SafeArea(top: false,bottom: true,left: true,right: false,
),

二、例子

home: Container(color: Colors.yellow,child: Container(alignment: Alignment.topCenter,child: Text("测试SafeArea测试SafeArea", style: TextStyle(fontSize: 10),)),
),

效果如下,文字被遮挡了:

添加SafeArea包装以后,会自动避开刘海遮挡区域,显示正常:

参考文章:

https://cloud.tencent.com/developer/article/1472092

SafeArea的使用相关推荐

  1. iPhone12 safeArea顶部区域尺寸变化

    iPhone12 safeArea顶部区域尺寸变化 iPhone12 safeArea 顶部区域尺寸改为47 [[UIApplication sharedApplication] keyWindow] ...

  2. iOS 屏幕适配 iPhone X SafeArea安全区域

    三月份工作 9月份才开始自己主动了解安全区域适配问题 一. 前言 本文的出发点是对iOS设备的适配, 我们之前的适配只是考虑设备的尺寸, 设备的方向, 而在iPhoneX出来之后呢, 我们又多了一种考 ...

  3. 【Flutter】四十一、Flutter解决沉浸式状态栏——SafeArea

        下面是一个简单页面: import 'package:flutter/material.dart';class SafeAreaRoute extends StatelessWidget{@o ...

  4. Flutter Widgets 之 SafeArea

    注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 现如今的手机已经不能提供给应用程序规整的矩形界面了,一些带 ...

  5. 【Flutter】Flutter 全面屏适配 ( 需要适配的情况 | Android 设置最大宽高比 | 使用 SafeArea 进行全面屏适配 | 使用 MediaQuery 进行全面屏适配 )

    文章目录 一.Flutter 全面屏适配 二.全面屏适配的情况 三.全面屏适配方法 四.反面示例 ( 留海遮挡内容 ) 五.Android 中配置最大宽高比 六.使用 SafeArea 进行全面屏适配 ...

  6. Flutter-刘海屏适配SafeArea

    SafeArea:能很好的解决刘海,不规则屏幕的显示问题.

  7. Flutter开发 13.Widget-TextField、Flex、Expanded、SafeArea

    Flutter开发 13.Widget-TextField.Expanded.SafeArea 目录 1. TextField 2. Flex和Expanded 3. SafeArea 4.实例演示 ...

  8. 苹果全面屏适配安全距离(safeArea)H5的屏幕适配

    使用苹果官方推出适配方案css函数env().constant()来适配 env()和constant(),是IOS11新增特性,Webkit的css函数,用于设定安全区域与边界的距离,有4个预定义变 ...

  9. iOS 11 安全区域适配总结

    2019独角兽企业重金招聘Python工程师标准>>> 导语:本文主要是对iOS 11下APP中tableView内容下移20pt或下移64pt的问题适配的一个总结.内容包括五个部分 ...

  10. iOS11、iPhone X、Xcode9 适配指南

    2017.09.23 不断完善中... 2017.10.02 新增 iPhone X 适配官方中文文档 更新iOS11后,发现有些地方需要做适配,整理后按照优先级分为以下三类: 单纯升级iOS11后造 ...

最新文章

  1. 面试官:如何实现一个高性能的,短链接生成服务?(附源码)
  2. python运算符和表达式
  3. linux 线程--内核线程、用户线程实现方法
  4. C++ 最大公约数排序
  5. 数据仓库建设从0到1-一文带你深入建设金融数仓体系
  6. 【MM配置】Master Data 主数据的配置
  7. BZOJ 2049: [Sdoi2008]Cave 洞穴勘测
  8. php限制小程序访问,PHP投票小程序,防超时,防IP限制
  9. 机器学习生态全景图3.0
  10. arduino 舵机接线图_求用5个电位器分别控制舵机的arduino的原码和连线图
  11. oracle 创建表空间 pcincrease,oracle建表空间
  12. php中session总结,PHP5中Session总结(一)
  13. 完美解决IE6中fixed抖动问题的方法
  14. linux时间有几个,Linux下与文件相关的几个时间的介绍
  15. 软件工程师如何笑着活下去?
  16. C/C++[codeup 1785]字符串连接
  17. web开发中多线程下载文件
  18. 记录一次腾讯面试经历
  19. 取消大小周易,取消周报难
  20. 网络基础知识:10M、50M、100M宽带下载速率一般是多少?

热门文章

  1. 2020计算机专业评估,2020年计算机学科大学排名TOP50,实力强,毕业生认可度高...
  2. 解决MAC上网速度慢的原因
  3. source bash_profile是干啥的
  4. classpath根目录
  5. 考研之复习经验与时间安排篇
  6. 创新工场李开复:漫延——中国移动互联网的2011年
  7. 这几招教你如何增加食物中铁的吸收
  8. 2019测试指南-web应用程序安全测试(二)指纹Web应用程序
  9. 有关XLS文件的读取
  10. 一些花里胡哨的数的编程问题