vivo X Fold 折叠屏适配官方指南发布:应用大小可调、不同分辨率布局、大屏体验

js 原创
2022-04-30 电脑百科网

4 月 30 日消息,前几天,vivo 首款折叠屏手机正式官宣,为让开发者更好地适配新机型,vivo 团队特推出了全新的适配攻略。

vivo 折叠屏有翻开态和折叠态,这两种状况下屏幕的分辨率是不同的。因此,在折叠屏状况切换时,分辨率也要动态切换。

如果 App 或 activity 不支撑不同分辨率屏幕主动适配,则会存在一些显现反常的问题,例如下图所示的左右或下半屏存黑边问题:

翻开态 ▼

折叠态 ▼

适配主张

#01

让使用巨细可调

为了加强用户体会,折叠屏在翻开态和折叠态动态切换时,使用界面不允许存在左右黑边或下半屏黑边的状况(即使用进入兼容形式),因此需求使用支撑不同分辨率状况下页面巨细可调。

此功用由 android:resizeableActivity 属性操控,在使用的 AndroidManifest.xml 中能够针对 App 或 activity 进行设置。

  

Note:

1. 当使用的 targetSdkVersion >=24 时,android 系统默认设置 android:resizeableActivity="true",不需求使用声明即可支撑使用巨细可调。当使用的 targetSdkVersion < 24 时,需求使用针对 application 或 activity 设置 android:resizeableActivity="true"。

2. application android:resizeableActivity="true" 时,会针对 App 的所有 activity 收效,因此当使用只需求声明独自的 activity 时,能够只针对单个 activity 进行设置。

系统侧主张:针对 application 设置 android:resizeableActivity="true",防止使用部分页面在折叠屏状况改变后存在黑边问题。

其他适配事项能够参阅 Android 开发者适配辅导 (例如链接中说到的保存界面状况和支撑装备变更部分):

https://developer.android.com/guide/topics/ui/foldables?hl=zh-cn

3.设置 android:resizeableActivity="true" 后,使用即可进入分屏形式,若不想进入分屏形式(进入分屏形式后会有一些适配问题)又不被当做兼容形式,能够在 Activity 里加上如下代码:

    

#02

不同分辨率布局适配

折叠屏涉及到不同的分辨率尺度和 DPI,使用界面除了要确保分辨率切换时无黑边问题外,还需求确保使用界面在不同分辨率显现时页面无显着的拉伸、错位和重叠等问题,因此需求优化布局和供给对应的位图来进行适配。

详细适配办法可参阅以下链接:

https://developer.android.com/training/multiscreen/screensizes?hl=zh-cn

#03

适配大屏体会

在大屏适配时,部分显现页面仅仅只是扩大,而没有使用大屏的空间展现更多内容。

因此,开发者们需求有用使用大屏空间调整布局展现,显现更多的内容。

要解决此类显现问题,开发者们能够在 AndroidManifest.xml android:configChanges 中声明 "screenSize" 改变,然后在 onConfigurationChanged 中动态调整布局。

详细适配办法能够参阅以下链接:

https://developer.android.com/guide/topics/resources/runtime-changes?hl=zh-cn

#04

判定折叠屏办法

运转时判别:

android.util.FtDeviceInfo

public static String getDeviceType  

返回的三种类型:phone、tablet 和 foldable

开发者能够经过反射的办法获取设备类型,返回值 foldable 表明折叠屏设备。

反射代码示例:


#05

机型装备

若使用现已针对其他厂家折叠屏设备进行了适配,新的折叠屏设备依据机型名装备即可收效,可直接装备 vivo 折叠屏 model 型号 V2178A。

调试和验证

#01

手机调试

DPI 设置:adb shell wm density 480

翻开态:adb shell wm size 1916x2160

折叠态:adb shell wm size 1080x2520

Note:

1. 折叠屏翻开态和折叠态 DPI 一样都是 480,只需求设置一次

2. 翻开态和折叠态进行切换时,能够经过设置不同的分辨率来进行模仿切换

3. 查看手机当时 DPI 和 size 的办法:adb shell wm density 和 adb shell wm size

4. DPI 和分辨率设置后,重启手机设置不会发生改变,若需求调回手机默认值,可经过 adb shell wm size reset 和 adb shell wm density reset 进行康复

5. 因为 Android 模仿器调试功率问题,引荐用手机模仿调试和验证;若需求 100% 复原真机物理尺度,可考虑模仿器

#02

模仿器调试

除了经过手机动态切换分辨率的办法来进行调试外,还可经过模仿器进行调试和验证。Android Studio 模仿器 Phone 分类支撑 8 英寸和 7.3 英寸的折叠屏调试,但是无法克隆(即无法修正模仿器的物理尺度和分辨率)。

模仿器 System image 如果是 x86 的系统,则只支撑 32 位使用的装置和运转;如果是纯 64 位的使用,模仿器需求选择 arm64-v8a,否则无法装置和运转使用。

Note:

1. Android Studio Foldable 模仿器无法修正物理尺度、分辨率和 DPI,因此在适配时,无法完全模仿 vivo 折叠屏手机,在 App 或 activity resizeableActivity = true 时,为了验证切屏是否有黑边能够在 Android 原生模仿器查看作用。

2. 64 位模仿器需求 PC 主机支撑,部分 PC 无法正常发动 64 位模仿器。

#03

折叠屏翻开态模仿器

Android 折叠屏模仿器无法修正物理尺度、分辨率和 DPI。若使用在进行《2.2 不同分辨率布局适配》时需求 100% 模仿折叠屏翻开态的屏幕进行调试,能够经过克隆 Tablet 分类的 Nexus 10,然后修正 vivo 折叠屏手机对应的物理尺度、分辨率和 DPI 进行调试和验证。

Note:

1. 使用 UI 兼容性适配对物理尺度有强关联时,请必须修正 Screen size 为 8.03,分辨率是翻开态分辨率

2. 需确认 64 位模仿器是否能够运转需求 PC 主机支撑

3. 若手机模仿 DPI 和分辨率调试无问题后,无法在模仿器运转,能够发包给 vivo 接口人,在 vivo 折叠屏真机运转点检

4. 模仿器无法修正 DPI,需求发动模仿器后,经过 adb shell 指令设置

此时翻开终端,能够看到模仿器设备现已挂载和衔接,能够进行 adb 操作。


模仿器无法直接修正 DPI,需求发动模仿器后独自设置。


移动小姐姐探营5300米珠峰5G大本营:海拔最高厕所长这样 小米 MIX 5 Pro 曝光,将搭载澎湃 C2 专业影像芯片 索尼 Xperia 10 IV 海外预定:搭载骁龙 695,6 英寸 21:9 屏 消息称三星 Galaxy Z Fold 4 折叠屏手机将采用 LG 的电池,正在评估中 小米 Redmi Note 11T Pro 系列首销,一小时销量突破 27 万台 微软副总裁秀Surface Duo:骁龙855双屏旗舰 8月底亮相
热门文章
为你推荐