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

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

vivo 折叠屏有睁开态和折叠态,这两种状况下屏幕的分辩率是差别的。所以,在折叠屏状况切换时,分辩率也要动静切换。

若 App 或 activity 不支撑差别分辩率屏幕自动适配,则会存在少许表现非常的疑问,比方下图所示的左右或下半屏存黑边疑问:

睁开态 ▼

折叠态 ▼

适配建议

#01

让使用大小可调

为了增强用户体验,折叠屏在睁开态和折叠态动静切换时,使用界面不容许存在左右黑边或下半屏黑边的环境(即使用进入兼容模式),所以需求使用支撑差别分辩率环境下页面大小可调。

此功效由 android:resizeableActivity 属性掌握,在使用的 AndroidManifest.xml 中可以针对 App 或 activity 举行配置。

<applicationandroid:resizeableActivity="true"><activityandroid:resizeableActivity="true"/></application>

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 开发者适配指导 (比方链接中提到的留存界面状况和支撑配置变更片面):

3.配置 android:resizeableActivity="true" 后,使用即可进入分屏模式,若不想进入分屏模式(进入分屏模式后会有少许适配疑问)又不被当成兼容模式,可以在 Activity 里加上以下代码:

<meta-dataandroid:name="android.supports_size_changes"android:value="true"/>

#02

差别分辩率结构适配

折叠屏波及到差别的分辩率尺寸和 DPI,使用界面除了要包管分辩率切换时无黑边疑问外,还需求包管使用界面在差别分辩率表现时页面无明显的拉伸、错位和重复等疑问,所以需求优化结构和提供对应的位图来举行适配。

细致适配技巧可参考以下链接:

#03

适配大屏体验

在大屏适配时,片面表现页面仅仅只是扩大,而没有行使大屏的空间展现更多内容。

所以,开发者们需求有用行使大屏空间调解结构展现,表现更多的内容。

要办理此类表现疑问,开发者们可以在 AndroidManifest.xml android:configChanges 中申明 "screenSize" 变更,而后在 onConfigurationChanged 中动静调解结构。

细致适配技巧可以参考以下链接:

#04

判定折叠屏技巧

运转时校验:

android.util.FtDeviceInfo

public static String getDeviceType

回笼的三品种型:phone、tablet 和 foldable

开发者可以通过反射的方法获取装备范例,回笼值 foldable 显露折叠屏装备。

反射代码示例:

privatestaticbooleanisVivoFoldableDevice(){try{Class<?>c=Class.forName("android.util.FtDeviceInfo");Methodm=c.getMethod("getDeviceType");ObjectdType=m.invoke(c);Log.d("fold","getDeviceType="+dType);return"foldable".equals(dType);}catch(Exceptione){e.printStackTrace();}returnfalse;}

#05

机型配置

若使用曾经针对其余厂商折叠屏装备举行了适配,新的折叠屏装备凭据机型名配置即可见效,可干脆配置 vivo 折叠屏 model 型号 V2178A。

调试和考证

#01

手机调试

DPI 配置:adbshell 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 操纵。

λadbdevicesListofdevicesattachedemulator-5554device

模拟器无法干脆点窜 DPI,需求启动模拟器后独自配置。

adbshellwmdensity480

您可能还会对下面的文章感兴趣: