Flutter开发笔记17 - 全屏幕与折叠屏适配指南

news/2024/12/22 15:27:35/

全屏幕特点,及存在的问题

全面屏手机的特点:

  • 大、屏占比高、长宽比达到了19.5:9甚至更高;
  • 短点的像素、density的取值都是一样的,所以需要适配的是长。

问题:

  • 传统布局的高度不足,导致上下留黑边;
  • 基于屏幕顶部和底部的布局,如弹框,在全面屏上显示会发生位移;
  • 安全区域的问题。

 

适配要点

顶部NavigationBar的上面和底部NavigationBar的下面要预留安全区域。

 

适配方案

1、使用了Scaffold的appbar与bottomNavigationBar是不需要适配的,因为Scaffold框架会自动帮我们完成这些适配工;

2、使用SafeArea来包裹页面,SafeArea是Flutter中的一个用于适配全面屏的组件,简单但是相较于第三点不灵活。类似于iOS中storyboard中的Safe Area Relative Margins和React Native的SafeAreaView;

3、借助MediaQuery.of(context).padding来获取屏幕四周的padding,然后根据padding自己手动实现对安全区域的控制(简单且灵活)。

 

 


http://www.ppmy.cn/news/664716.html

相关文章

Flutter:实现一个滑动头部折叠的动画效果

更新:关于Slivers的具体用法,请看这篇文章:Flutter:Slivers大家族,让滑动视图的组合变得很简单! 本文写的只是SliverAppBar的用法,实际上使用Slivers可以实现多种折叠效果。 Android和iOS中都有…

vue折叠面板如何默认展开第一项

折叠面板 折叠面板官网: 项目展示: 代码展示: 默认展开第一个默认展开第二个默认全部展开默认全部折叠 这里的title名字是自己定义的。绑定的值为name的值。由于这是一个循环嵌套的面板,故而绑定时需要用一个数组格式来接收。…

Html 中表格添加展开(折叠)按钮

简易代码&#xff1a; <html><head><meta http-equiv"Content-Typecontent"text/html; charsetUTF-8" /><title>compatibility assessment</title><script type"text/javascript" src"http://libs.baidu.com/…

html那种折叠文字内容怎么实现,html+css实现文字折叠特效实例

本文主要介绍了html+css实现文字折叠特效实例,分享给大家,具体如下: 效果: 实现: 1. 定义标签: aurora 2. 设置文字基本样式: h1{text-transform: uppercase; letter-spacing: 3px; font-size: 15vw; transform: rotate(-10deg) skew(30deg); position: relative; color…

Pittkai——Android折叠屏生命周期

Android折叠屏生命周期 &#xff08;第一次在CSDN上写文章&#xff0c;随便写写&#xff0c;记录一下&#xff09; 如今随着手机的发展&#xff0c;屏幕从分屏甚至走上了折叠屏的道路&#xff0c;即将推出的谷歌Android Q系统更是支持了折叠屏&#xff0c;但苦于手头没有Androi…

VSCode 折叠展开快捷键 macOS版

查看 commandshiftp 搜索fold和unfold 举例 折叠所有&#xff1a;commandk0(数字0)展开所有&#xff1a;commandkj折叠光标所在代码块&#xff1a;commandk[展开光标所在代码块&#xff1a;commandk]

Android魔术(第五弹)—— 一步步实现滑动折叠列表

目录 1、效果展示 2、效果分析 3、Item布局 3、实现Adapter 4、监听滑动 5、回弹效果 6、总结一下 源码&#xff1a; 1、效果展示 这个效果是一年多前完成的&#xff0c;是模仿了当时喵街app的首页的效果&#xff0c;现在整理出来可能有些过时了&#xff0c;不过一些知识点和思…

JS实现一键展开、折叠所有树节点

在数据分析报表中&#xff0c;通常会有结构树展开的分析报表。在结构树节点较多的时候&#xff0c;逐个进行展开、折叠等操作时&#xff0c;会比较繁琐、费时间、费手劲&#xff1b;此处示例通过点击按钮的方式&#xff0c;使用js实现一键展开、折叠所有的树节点&#xff08;不…