SafeArea的使用

一、背景

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

因此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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值