Flutter iPhoneX 刘海屏适配

每年都有新亮点, 自从iPhoneX 出了刘海屏之后,各家安卓厂商也纷纷跟进,对于开发来说,就需要进行各种刘海屏的适配。

对于Flutter来说,刘海屏主要适配的是上下的边距, 需要把不可点击的区域留出来,同时要把背景颜色和图片放上去。

对于上面的边距, 如果使用 Scaffold , appBar已经自动为我们做好了适配,直接使用就行了。

如果使用的是自定义布局的话, Flutter 提供了媒体查询的接口, 可与获取到上边距和下边距的值。

    final double topPadding = MediaQuery.of(context).padding.top;
    final double bottomPadding = MediaQuery.of(context).padding.bottom;

我们只需要在布局Widget的时候, 把这个值计算进去就ok了。

需要注意的是:
上边距在 iPhoneX 上的值是 44, 在其他设备上的值是 20, 是包含了电池条的高度的。
下边距在iPhoneX 上的值是34,在其他设备上的值是 0。

现在Flutter出了一个新的Widget,叫做 SafeArea , 直接在外面包一层这个Widget, 就可以让子Widget 不会被刘海覆盖了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容