前言
为了更有效的利用屏幕空间,应用开发者可以进行应用内的分栏布局设计,并在应用屏幕切换到适当比例时,触发分栏布局显示。华为提供平行视界方案,实现Activity为基础的应用内分屏显示,简化应用适配。
一
平行视界(MagicWindow)方案简介
平行视界以Activity为基本单位实现应用内分屏的系统侧解决方案。应用可以根据自身业务设计分屏显示Activity组合,以实现符合应用逻辑的最佳单应用多窗口用户体验。提供以下两种基础分屏模式:
1.通用导航模式(0)
(1)右分屏永远是最后一个窗口。
(2)任何时候,从左分屏打开的新页面,都会将右分屏的页面替换掉; 从右分屏打开新页面,原右分屏页面向左移,新页面在右分屏打开。
(3)任何时候,从左分屏触发Back,左右分屏中的所有Activity都将退出。
2.自定义模式(1)
(1)应用采用配置 “Activity对”的方式标识业务在特定状态下需要分屏展示。如“A->B”,A上启动B,触发分屏(A左B右)。但B启动A,不启动分屏。
(2)一旦进入分屏后,如当前屏幕显示为 “A|B” 。
(a)若配置了B->C ,则B触发C,B左移,C右侧显示。
(b)若没有配置C,则无论左右触发,都右侧显示。
From | To | 备注 |
---|---|---|
A | B | A上启动B,触发分屏。B启动A,不启动分屏。 |
未配置B->C,根据默认策略,右屏显示。 |
From | To | 备注 |
---|---|---|
A | B | A上启动B,触发分屏。B启动A,不启动分屏。 |
B | C | 如果此时B已经在右分屏,B触发C,B左移,C右侧显示。 |
二
应用适配方法
1.新增配置文件
(1)在assets目录下新建配置文件easygo.json (2)修改AndroidManifest.xml内application中新增meta-data
2.配置文件说明
easygo.json文件模板和字段详细说明:模板 - easygo
参数 | 限制 | 描述 |
---|---|---|
easyGoVersion | 1 | 协议版本,固定值“1.0” |
client | 1 | 应用包名 |
logicEntities. head.function | 1 | 调用组件名,固定值“magicwindow” |
logicEntities. head.required | 1 | 预留字段,固定值“true” |
logicEntities.body.mode | 1 | 基础分屏模式,详细模式逻辑见基础分屏模式-1:分屏不生效0:通用模式,activityPairs配置不生效1:自定义模式 |
logicEntities.body.activityPairs | * | 自定义模式参数,配置从from页面到to页面的分屏展示 |
logicEntities.body.activityPairs.from | 1 | 触发分屏的源Activity |
logicEntities.body.activityPairs.to | 1 | 触发分屏的目标Activity,”*”表示任意Activity如 [{”from” :”com.xxx. ActivityA”, “to” :”com.xxx. ActivityB”}] 表示A上启动B,触发分屏(A左B右) |
logicEntities.body.transActivities | * | 过渡页面列表如[ "com.xxx.ActivityD", "com.xxx.ActivityE","com.xxx.ActivityF",] |
以上内容为折叠屏开发指导之应用内分屏解读的全部内容,这种交互模式的创新,极大提升了内容浏览效率和体验,扩大了用户对折叠屏终端的想象空间。后续绿盟会继续发布分屏和悬浮、数据拖拽、开发调测工具等内容的深度解读文章。
End
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有