【Flutter】Android、Flutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )(一)

简介: 【Flutter】Android、Flutter 折叠屏适配 ( 展开大屏 | 折叠主屏 | 折叠副屏 | 静态展示 | 动态热切换适配 | 拉伸布局 | X 轴自适应适配 | 布局重构 )(一)

文章目录

一、Android、Flutter 折叠屏适配

二、展开大屏适配

三、折叠主屏适配

四、折叠副屏适配

五、折叠屏动态热切换适配

五、拉伸布局

六、X 轴自适应适配

七、布局重构

八、Android、Flutter 中的程序配置

1、屏幕自适应配置

2、设置切换屏蔽宽高比不重启适配

3、设置最大最小屏幕比例





一、Android、Flutter 折叠屏适配


华为的 Mate X 折叠屏有 3 33 种形态 :


展开形态 ( 大屏 ) : 屏幕宽高比 8 : 7.1 8:7.18:7.1 , 近似于正方形 ; 分辨率为 2480 × 2200 2480 \times 22002480×2200 ;

折叠形态 ( 主屏 ) : 屏幕宽高比 19.5 : 9 19.5:919.5:9 , 这是个全面屏 , 就是手机正面 ; 分辨率为 2480 × 1148 2480 \times 11482480×1148 ;

折叠形态 ( 副屏 ) : 屏幕宽高比 25 : 9 25:925:9 , 这是屏幕背面 , 这一面比较窄 ; 分辨率为 2480 × 892 2480 \times 8922480×892 ;


image.png





二、展开大屏适配


屏幕展开后 , 处于屏幕宽高比 8 : 7.1 8:7.18:7.1 状态下 , 屏幕要完全填充整个屏幕 , 如下图的 A 的样式 ;


B 中左右出现的黑边 , C 中上下出现黑边 , D 中四周出现黑边 , 都不能出现 ;


image.png






三、折叠主屏适配


折叠主屏 就按照 全面屏的样式进行适配 ;


折叠状态下 , 主屏要填充满整个屏幕 , 如 A 样式 ;


B 中左右两遍留出空白 , C 中下面留出空白 , 不可取 ;

image.png







四、折叠副屏适配


折叠副屏 的 屏幕分辨率是 25 : 9 25:925:9 , 是长条形的 ;


华为官方建议 , 该屏幕不以全屏显示 , 在副屏模式下 , 仍然保持 19.5 : 9 19.5 : 919.5:9 的屏幕适配即可 , 如下图的 A ;


折叠状态下的副屏 , 不能完全填充 , 以及以其它宽高比填充 , 只能以 19.5 : 9 19.5 : 919.5:9 的比例填充 ;


下图中 , 只有 A 是合格的 , 其它都不符合规范 ;


image.png





五、折叠屏动态热切换适配


上述折叠屏的三种形态 , 在任何一种形态 , 打开应用 , 都按照对应的适配要求显示 ;


假如再打开后 , 屏幕形态切换 , 就需要自动切换屏幕样式 ;

如 : 当前是 折叠状态主屏 打开应用 ( 此时宽高比 19.5 : 9 19.5:919.5:9 ) , 突然将手机打开开 , 变为 展开状态大屏 ( 此时宽高比 8 : 7.1 8:7.18:7.1 ) , 官方要求应用的布局要实时切换成 8 : 7.1 8:7.18:7.1 的布局样式 ;

image.png



大厂的大应用 , 可以考虑适配一下 ;


个人感觉一般的应用 , 只要符合静态打开的要求就可以 , 切换状态后 , 直接关掉应用重启就可以 ;






五、拉伸布局


主屏 , 副屏 , 大屏 三种状态 , 只显示一种布局 , 直接将布局填充满整个界面 , 大屏状态下直接拍扁了 ;


这种布局比较难看 , 适合初期发布应用时进行这种适配 ;


image.png


目录
相关文章
|
开发框架 前端开发 Android开发
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
1668 4
|
开发工具 Android开发 iOS开发
如何在Android Studio中配置Flutter环境?
如何在Android Studio中配置Flutter环境?
3126 160
|
存储 Android开发
如何查看Flutter应用在Android设备上已被撤销的权限?
如何查看Flutter应用在Android设备上已被撤销的权限?
790 64
|
11月前
|
存储 消息中间件 人工智能
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
296 11
【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
|
11月前
|
XML 存储 Java
【06】AI辅助编程完整的安卓二次商业实战-背景布局变更增加背景-二开发现页面跳转逻辑-替换剩余图标-优雅草卓伊凡
【06】AI辅助编程完整的安卓二次商业实战-背景布局变更增加背景-二开发现页面跳转逻辑-替换剩余图标-优雅草卓伊凡
243 3
【06】AI辅助编程完整的安卓二次商业实战-背景布局变更增加背景-二开发现页面跳转逻辑-替换剩余图标-优雅草卓伊凡
|
存储 Android开发 数据安全/隐私保护
如何在Android设备上撤销Flutter应用程序的所有权限?
如何在Android设备上撤销Flutter应用程序的所有权限?
1068 64
|
缓存 Android开发 开发者
Flutter环境配置完成后,如何在Android设备上运行Flutter应用程序?
Flutter环境配置完成后,如何在Android设备上运行Flutter应用程序?
2827 62
|
开发工具 Android开发 开发者
在Android设备上运行Flutter应用程序时,如果遇到设备未授权的问题该如何解决?
在Android设备上运行Flutter应用程序时,如果遇到设备未授权的问题该如何解决?
1129 61
|
前端开发 Java 编译器
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
661 36
当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
1043 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex