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,需求发动模仿器后独自设置。


realme 两款新机入网,其中一款搭载骁龙 870 芯片 OPPO 宣布 Reno7 Pro 成为 2021 英雄联盟手游职业资格赛全国大赛赛道推荐用机 三星S20 Ultra登DXO自拍榜第二:仅次于华为P40 Pro 魅族 19 系列要来了?魅族手机新外观专利公开 《原神》获“TGA 2021 最佳移动游戏、最佳持续运营游戏”奖项提名,现为玩家送上 1600 原石 3xxx的iPhone太香!苹果4G版iPhone望继续降价:抢市占率
热门文章
为你推荐