智能客服
你问我答,随时在线为你解决问题
相对于直板机,双折叠有以下明显特点:
双折叠目前主要的产品有Mate X系列,示意图如下。
产品名称 | 示意图 |
|---|---|
Mate X系列 |
|
本文聚焦于双折叠应用的体验提升开发指导。如需多设备开发的基础通用能力指导,请参考“一次开发,多端部署概览”系列文章。
本章以Mate X5产品为例,介绍双折叠的屏幕方向、屏幕尺寸以及相机硬件参数等信息。
折叠态屏幕规格信息
屏幕旋转角度(rotation) | 0(0度) | 1(90度) | 2(180度) | 3(270度) |
|---|---|---|---|---|
折叠态示意图 |
|
|
|
|
屏幕方向(Orientation) | 竖屏PORTRAIT | 横屏LANDSCAPE | 反向竖屏PORTRAIT_INVERTED | 反向横屏LANDSCAPE_INVERTED |
屏幕ID | 0 | 0 | 0 | 0 |
分辨率(vp)(向下取整) | 345*801 | 801*345 | 345*801 | 801*345 |
分辨率(px)(宽*高) | 1080*2504 | 2504*1080 | 1080*2504 | 2504*1080 |
横纵断点 | 横向断点sm,纵向断点lg | 横向断点md,纵向断点sm | 横向断点sm,纵向断点lg | 横向断点md,纵向断点sm |
展开态屏幕规格信息
屏幕旋转角度(rotation) | 0(0度) | 1(90度) | 2(180度) | 3(270度) |
|---|---|---|---|---|
展开态示意图 |
|
|
|
|
屏幕方向(Orientation) | 竖屏PORTRAIT | 横屏LANDSCAPE | 反向竖屏PORTRAIT_INVERTED | 反向横屏LANDSCAPE_INVERTED |
屏幕ID | 0 | 0 | 0 | 0 |
分辨率(vp)(向下取整) | 711*798 | 798*711 | 711*798 | 798*711 |
分辨率(px)(宽*高) | 2224*2496 | 2496*2224 | 2224*2496 | 2496*2224 |
横纵断点 | 横向断点md,纵向断点md | 横向断点md,纵向断点md | 横向断点md,纵向断点md | 横向断点md,纵向断点md |
双折叠有默认的相机镜头安装角度,在使用时需要考虑镜头角度和设备的旋转角度,具体定义可参考预览旋转角度。双折叠相机前置和后置镜头角度以及需要设置的预览流旋转角度如下,折叠态和展开态下的相机参数一致。
折叠态相机硬件信息
屏幕旋转角度(rotation) | 0(0度) | 1(90度) | 2(180度) | 3(270度) |
|---|---|---|---|---|
折叠态示意图 |
|
|
|
|
后置相机镜头角度 | 90度 | 90度 | 90度 | 90度 |
后置相机拍摄预览流旋转角度 | 90度 | 180度 | 270度 | 0度 |
前置相机镜头角度 | 270度 | 270度 | 270度 | 270度 |
前置相机拍摄预览流旋转角度 | 270度 | 0度 | 90度 | 180度 |
展开态相机硬件信息
屏幕旋转角度(rotation) | 0(0度) | 1(90度) | 2(180度) | 3(270度) |
|---|---|---|---|---|
展开态示意图 |
|
|
|
|
后置相机镜头角度 | 90度 | 90度 | 90度 | 90度 |
后置相机拍摄预览流旋转角度 | 90度 | 180度 | 270度 | 0度 |
前置相机镜头角度 | 270度 | 270度 | 270度 | 270度 |
前置相机拍摄预览流旋转角度 | 270度 | 0度 | 90度 | 180度 |
双折叠具备独特的折叠功能,在不同折叠状态下展现出不同的特性。
通过display.isFoldable()接口可判断设备是否支持折叠,若支持则返回true,否则返回false。通过display.getFoldStatus()接口可获取折叠设备当前的折叠状态,返回结果可参考FoldStatus。下表以Mate X5产品为例,展示了双折叠的折叠状态和属性。
折叠态 | 悬停态 | 展开态 | |
|---|---|---|---|
示意图 |
|
|
|
isFoldable | true | ||
FoldStatus | FOLD_STATUS_FOLDED | FOLD_STATUS_HALF_FOLDED | FOLD_STATUS_EXPANDED |
概述
相对于直板机,小折叠有以下特点:
小折叠目前共有两款产品,Pocket系列和Nova Flip系列,示意图如下。
产品名称 | 示意图 |
|---|---|
Pocket系列 |
|
Nova Flip系列 |
|
设备折叠能力
通过display.isFoldable()接口可判断设备是否支持折叠,若支持则返回true,否则返回false。通过display.getFoldStatus()接口可获取折叠设备当前的折叠状态,返回结果可参考FoldStatus。下表以Pocket系列产品为例,展示了小折叠的折叠状态和属性。
折叠态 | 悬停态 | 展开态 | |
|---|---|---|---|
示意图 |
|
|
|
isFoldable | false | ||
FoldStatus | FOLD_STATUS_FOLDED | FOLD_STATUS_HALF_FOLDED | FOLD_STATUS_EXPANDED |
双折叠展开态拥有更宽广的显示视野,信息承载量更大,用户可操作范围也更广。为进一步提升双折叠的使用体验,建议适配系统全新交互能力,通过接入智感握姿、跟手弹窗和跟手半模态等新特性,让用户操作更快捷、高效。

通过订阅握持手状态变化感知事件motion.on('holdingHandChanged'),获取到握持手信息后,更改组件的显示位置。

构建UI布局时,可通过条件表达式判断:当横向断点为sm时,使用普通居中弹框;否则,使用跟手弹框PopoverDialog,提升大屏设备的操作效率。

使用bindSheet绑定半模态转场时,设置半模态属性preferType为SheetType.POPUP。设置该属性后,窗口宽度小于600vp的设备将默认显示底部弹窗,其他设备则自动适配为跟手弹窗。
双折叠展开态时可切换至悬停态。悬停态支持设备平稳放置于桌面,实现免手持体验,常用于视频通话、视频播放、拍照、听歌等不需要频繁交互的场景。这种状态下,应用需要对中间折痕区域进行避让,并对上下两个界面进行悬停态布局适配。悬停态的实现方案可参考折叠屏悬停态。

开合连续指应用在屏幕形态与窗口状态切换时,保持页面内容连贯,延续任务进度与运行状态。支持用户快速接续切换前的操作,打造流畅的切换体验。例如双折叠设备在折叠态和展开态之间切换时,应用页面内容保持不变、状态无缝接续,保障使用体验不受影响。具体实现方案,可参考开合连续章节。
在双折叠设备上,可以借助HdsTabs组件的barFloatingStyle属性实现悬浮导航栏,可适配各类形态切换场景,充分释放屏幕可视区域;通过悬浮材质参数SystemMaterialParams配置透明磨砂材质效果,提升界面通透感,适配沉浸式浏览体验。搭配HdsTabsMiniBar可扩展迷你标签栏,拓展多维度快捷入口,适配展开态的分区操作,同时保障折叠态和展开态下交互逻辑统一,降低用户切换成本,有效提升操作效率与使用体验。

双折叠设备可以切换折叠态和展开态,且窗口模式可以转换分屏、悬浮窗,为避免视频播放画面在形态切换时出现拉伸、裁剪、显示比例错乱等问题,可采用自适应沉浸全屏播放方案,精简界面元素、减少视觉干扰,让用户聚焦视频画面,充分利用大屏开阔视野,有效提升观看体验。具体实现方案,可参考视频适配不同尺寸屏幕章节。

全景多窗旨在帮助用户高效处理多个任务。通过全景多窗,用户可以突破物理屏幕局限,在同一屏幕内并行运行多款应用,实现应用间快捷切换,提升操作效率。双折叠可依托全景多窗能力,充分利用大屏空间优势,最高支持三个窗口同屏并行运行,助力用户一边浏览资讯、一边编辑内容、一边沟通办公,多任务同步处理、互不冲突,实现办公、娱乐、日常操作一站式协同。

应用启动页面未铺满屏幕或出现异常布局
问题描述:在双折叠展开态启动应用时,应用的启动页面未铺满整个屏幕,出现白屏区域或者启动页面被截断。
解决方案:应用需要配置增强启动页,配置后启动页面中的背景、图片和图标等资源能根据窗口大小自适应填充,保证启动页面在不同设备形态上正常显示,配置中各标签的说明可参考startWindow标签。
如何实现不同折叠状态下的页面布局
问题描述:应用页面布局在不同折叠状态下适配方式不明确或适配出现异常。
解决方案:推荐使用断点适配页面布局。依据不同断点对应的UX设计规范,分别开发对应的页面布局。通过window.on('windowSizeChange')监听页面的断点变化,即可实现不同折叠状态下的页面布局适配,详细开发方案参考断点的开发案例。