您的位置:首页 > 数码常识数码常识

vivoXFold折叠屏适配问题解析(vivoXFold折叠屏适配指南)

2025-05-11人已围观

vivoXFold折叠屏适配问题解析(vivoXFold折叠屏适配指南)
  前几天,vivo首款折叠屏手机正式官宣了

  vivoXFold折叠屏适配指南

  为让开发者更好地适配新机型

  我们特推出了全新的适配指南

  建议一键收藏并转发给身边的开发朋友!

  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操作。

  λ adb devices

  List of devices attached

  emulator-5554 device

  模拟器无法直接修改DPI,需要启动模拟器后单独设置。

  adb shell wm density 480

  希望以上vivo折叠屏适配指南

  能够帮助各位开发者更好适配新机型

  为用户带来更极致的产品体验

  上面就是小居数码小编今天给大家介绍的关于(vivoXFold折叠屏适配指南)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

  94%的朋友还想知道的:

  全民K歌的使用方式说明指南(全民k歌专属歌曲怎么制作)

  ca数字证书使用的基本流程(CA数字证书办理指南)

  初级软件测试工程师零基础入门指南(软件测试工程师入门教程)

  惠普打印机安装指南(惠普打印机的安装程序)



  131489
 

很赞哦! ()

随机图文