Foldable Device — 基础、折叠设备开发

作者: IT Sectr 发布日期: 2026-06-09 阅读时间: 9 分钟

Foldable Device(折叠设备)— 是一类具有柔性显示屏的移动设备,在折叠和展开时改变形态。此类设备根据屏幕位置既可作为紧凑型手机使用,也可作为平板电脑使用。根据 Android Developers(2025),2024年全球折叠设备市场增长了42%,为此形态适配应用程序正成为大型项目的必然要求。

要点

  • Foldable Device — 具有柔性显示屏的设备,折叠时改变形态。
  • 类型 — 书本式(Galaxy Z Fold)、翻盖式(Galaxy Z Flip)、双屏(Surface Duo)。
  • Fold State — 设备状态:完全展开、完全折叠、半开(桌面模式)。
  • 适配 — 界面必须在屏幕配置改变时重新排列。
  • WindowManager — Jetpack WindowManager API,用于处理折叠设备的状态变化。

什么是 Foldable Device?

Foldable Device — 是一种具有柔性 OLED 显示屏的移动设备,可在不损坏矩阵的情况下折叠。折叠状态下,此类设备紧凑便携,可放入口袋;展开状态下,提供平板电脑大小的屏幕。首款量产折叠设备是 Royole FlexPai(2018),但三星 Galaxy Fold(2019)和华为 Mate X 使这一类别得到推广。

折叠设备与传统设备的 key 区别在于铰链(hinge)和柔性显示屏的存在。折叠时,显示屏不会破裂,而是根据铰链结构确定的半径弯曲。现代技术(UTG — 超薄玻璃,2020+ 和 Samsung Infinity Flex)可承受多达 200,000 次折叠循环而无明显损坏。

对于开发者而言,折叠设备带来三项挑战:展开时屏幕尺寸变化、折痕(crease)的存在以及半开状态(桌面模式)下的工作,即设备以一定角度立于平面上。

折叠设备类型

书本式(book-style) — Galaxy Z Fold、Google Pixel Fold、OnePlus Open。外部屏幕(cover screen)用于折叠状态下的使用,内部柔性显示屏(inner screen)用于平板模式。外部屏幕的宽高比约为 22:9,内部屏幕约为 6:5 或 4:3。

翻盖式(flip-style) — Galaxy Z Flip、Motorola Razr、Oppo Find N2 Flip。垂直折叠,外部显示屏用于通知(1.5–3.5 英寸),内部显示屏为标准手机尺寸(6.7–7 英寸)。主要特点 — 在半开状态(flex mode)下,应用程序可将屏幕分为两个区域:上方控制,下方内容

双屏 — Microsoft Surface Duo、Lenovo ThinkPhone。两个独立显示屏,中间有铰链。展开时形成共同区域,但屏幕之间存在物理间隙。API 考虑铰链角度,允许应用程序在两个屏幕上延伸。

Android 中折叠设备的 API

Google 提供 Jetpack WindowManager 用于处理折叠设备。API 包含三个关键组件:WindowLayoutInfo — 折叠位置信息(fold)、WindowPosture — 设备的物理位置以及 FoldingFeature — 弯曲区域的描述:方向、状态和角度。

FoldingFeature 包含折叠类型(hinge — 铰链、fold — 柔性显示屏)、状态(flat — 展开、half-opened — 半开、folded — 折叠)和弯曲角度(0 到 180 度)。角度在具有角度传感器的设备上可用(Galaxy Z Fold、Pixel Fold)。

kotlin
val windowInfoRepository =
    WindowInfoTracker.getOrCreate(context)
windowInfoRepository.windowLayoutInfo(context)
    .collect { layoutInfo ->
        layoutInfo.displayFeatures
            .filterIsInstance<FoldingFeature>()
            .forEach { feature ->
                // 处理折叠
            }
    }

要确定设备是否可折叠,请使用 PackageManager.hasSystemFeature("android.hardware.sensor.hinge_angle")。在带铰链的设备上,此传感器存在 — 在普通手机上则没有。

为折叠设备适配界面

界面适配 — 开发者支持折叠设备时的主要任务。展开时,窗口宽度可能加倍,界面必须从单列切换为多列。使用 Window Size Class 在布局之间切换 — 展开时,类别从 Compact 变为 Expanded。

特别关注配置变更的处理。当用户展开设备时,Activity 可能被重新创建。如果应用未保存状态,用户将丢失已输入的数据或滚动位置。使用 ViewModel 处理屏幕数据,使用 onSaveInstanceState 处理 UI 状态。

对于 flex mode(桌面模式),设计应将屏幕分为两个功能区域。上部 — 内容查看(视频、图库、列表),下部 — 控制(按钮、控制器、键盘)。此模式在视频播放器中应用:YouTube 在 Galaxy Z Flip 上将视频显示在上方,推荐和按钮显示在下方。

在折叠设备上测试

测试 — 为折叠设备开发中最困难的方面之一。Android Emulator 可通过 AVD 使用 "Foldable" 配置(内部 7.6 英寸显示屏,外部 4.6 英寸显示屏)模拟折叠设备。模拟器支持折叠和展开状态之间的切换。

在模拟器中测试使用 ADB。命令 adb shell am broadcast -a android.intent.action.VIEW -e mode expand 展开设备,adb shell am broadcast -a android.intent.action.VIEW -e mode fold 折叠设备。在模拟器窗口中也可更改弯曲角度。

建议在实际物理设备上进行测试,以检查过渡感、铰链质量和折痕可见性。主要测试机型:Samsung Galaxy Z Fold 6(书本式)、Samsung Galaxy Z Flip 6(翻盖式)、Google Pixel Fold、Motorola Razr 50。

折叠设备的设计建议

不要将关键元素放置在弯曲区域。按钮、输入框和交互元素应距折痕线至少 24 dp。折痕(crease)— 柔性屏幕的固有特性,其可见度随每一代产品降低,但不会完全消失。

使用连续性而非中断。展开时,内容应从外部屏幕平滑流淌到内部屏幕或扩展到整个区域。避免加载新的 Activity — 在同一屏幕内重新计算布局。Jetpack WindowManager 跟踪变化并通过 WindowLayoutInfo 通知应用。

考虑铰链角度以创造性的场景。在照片和视频应用中,半开位置(90°)将设备变为支架:相机拍摄,屏幕下部显示控制面板。此场景在 Samsung Camera 和原生应用中尤为流行。

常见问题

如何确定设备是否可折叠?

检查 PackageManager.FEATURE_SENSOR_HINGE_ANGLE 是否存在。如果为 true — 设备带有铰链角度传感器,为可折叠设备。同时检查 DisplayFold API。

如何处理从折叠到展开模式的过渡?

订阅 WindowInfoTracker.windowLayoutInfo()。当 FoldingFeature 状态变化时,根据 Window Size Class 和折痕位置重新排列界面。

折叠设备 API 的最低 SDK 是多少?

Jetpack WindowManager 在 API 14+ 上运行。但 FoldingFeature.HALF_OPENED 需要 API 24+(Android 7.0)。铰链角度传感器在 Android 10+ 上可用。

是否需要为折叠设备创建单独布局?

不需要。使用 Jetpack WindowManager 的 Window Size Class 和 Layoutomization。带尺寸类别检查的统一代码将替代单独的资源布局。

折叠设备能在水下工作吗?

大多数折叠设备具有 IP48 或 IP58 防护 — 有限的防水性能。在水下,柔性显示屏可能损坏,因此制造商不建议浸水

总结

  • Foldable Device — 具有柔性显示屏的设备,折叠时改变屏幕尺寸。
  • 类型 — 书本式(Galaxy Z Fold)、翻盖式(Galaxy Z Flip)、双屏(Surface Duo)。
  • Jetpack WindowManager — 用于跟踪 FoldingFeature、状态和弯曲角度的 API。
  • Window Size Class — 设备展开时在类别间切换。
  • Flex mode — 半开状态下屏幕分为查看和控制。
  • 测试 — 模拟器中的 AVD Foldable,用于状态管理的 ADB。
  • 结论 — 折叠设备正在形成新的移动体验标准,为其适配应用程序正成为竞争优势。

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读