vivo X Fold折叠屏适配官方指南-手机使用手册

vivo X Fold折叠屏适配官方指南-手机使用手册,第1张

Xfold折叠屏在体内适配官方指南

4月30日,日前,vivo首款折叠屏手机正式公布。为了让开发者更好的适应新机型,vivo团队推出了新的适配指南。

vivo的折叠屏有展开状态和折叠状态,这两种状态下屏幕的分辨率是不同的。所以折叠屏状态切换时,分辨率也要动态切换。

如果App或activity不支持自动适配不同分辨率的屏幕,会出现一些显示不正常的问题,比如屏幕左右或下半部分黑边的问题如下图所示:

展开状态▼

折叠状态▼

适应建议

#01

使应用程序大小可调

为了提升用户体验,当折叠屏幕在展开状态和折叠状态之间动态切换时,应用程序界面不允许左右黑边或屏幕下半部分黑边(即应用程序进入兼容模式),因此应用程序需要支持不同分辨率下的可调页面大小。

该函数由android:resizeableactivity属性控制,可以在应用的AndroidManifest.xml中为App或activity设置。

lt gt ltp = " " gt lt gt

Android:resizeableActivity = " true " gt;

lt gt ltp = " " gt lt gt

Android:resizeableActivity = " true "/ gt;

注意:

1.当applied targetsdkversion >: =24时,android系统默认设置Android:Resizable Activity = " true ",无需应用声明即可调整应用大小。当应用的目标版本

2.当Application Android:resizable activity = " true "时,将对app的所有活动生效。因此,当应用程序只需要声明一个单独的活动时,只能为单个活动设置。

系统建议:为应用设置Android:resizable activity = " true ",避免折叠屏状态改变后应用部分页面出现黑边的问题。

其他适配事宜请参考Android开发者适配指南(比如链接中提到的保存界面状态和支持配置更改):

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

3.设置Android:Resizable Activity = " true "后,应用可以进入分屏模式。如果不想进入分屏模式(进入分屏模式后会有一些适配问题)并且不会被视为兼容模式,可以在活动中添加以下代码:

Android:name = " Android . supports _ size _ changes " Android:value = " true "/ gt;

#02

不同分辨率的布局调整

折叠屏涉及不同的分辨率尺寸和DPI。应用界面不仅要保证分辨率切换时没有黑边,还要保证应用界面在不同分辨率下显示时没有明显的拉伸、错位、重叠等问题。所以需要优化布局,提供相应的位图进行适配。

详细的适配方法请参考以下链接:

https://developer . Android . com/training/multi screen/screen size?hl=zh-cn

#03

适应大屏幕体验

大屏适配时,显示的部分页面只是放大,没有利用大屏的空空间来显示更多的内容。

所以开发者需要有效利用大屏空调整布局,展示更多内容。

要解决这种显示问题,开发者可以在Android manifest . XML Android:config changes中声明“screenSize”的变化,然后在onConfigurationChanged中动态调整布局。

详细的适配方法请参考以下链接:

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

#04

一种判断折叠屏的方法

运行时判断:

android.util.FtDeviceInfo

公共静态字符串getDeviceType

返回三种类型:手机、平板和可折叠。

开发者可以通过反射得到设备类型,返回值foldable表示折叠屏设备。

反射代码示例:

私有静态布尔值isvifoldabledevice(){

尝试{

class c = class . forname(" Android . util . ftdeviceinfo ");

方法m = c . get method(" get device type ");

object dType = m . invoke(c);

Log.d("fold "," get device type = "+dType);

返回“可折叠”。equals(dType);

} catch(异常e) {

e . printstacktrace();

}

返回false

}

#05

模型配置

如果应用已经适配其他厂商的折叠屏设备,可以根据型号名称配置新的折叠屏设备,可以直接配置vivo折叠屏型号V2178A。

调试和验证

#01

手机调试

设置:adb外壳wm密度480

展开状态:亚行外壳wm尺寸1916x2160

折叠状态:adb外壳wm大小1080x2520

注意:

1.折叠屏幕在展开状态和折叠状态下的DPI都是480,只需要设置一次。

2.当打开状态和折叠状态被切换时,可以通过设置不同的分辨率来执行模拟切换。

3.检查手机当前DPI和尺寸的方法:adb外壳wm密度和adb外壳wm尺寸

4.设置好DPI和分辨率后,重启手机的设置不会改变。如果需要回调手机默认值,可以通过adb shell wm大小重置和adb shell wm密度重置来恢复。

5.因为Android模拟器的调试效率,建议用手机模拟调试验证;如果有必要100%还原真机的物理尺寸,可以考虑模拟器。

#02

模拟器调试

除了通过动态切换手机分辨率进行调试,还可以通过模拟器进行调试验证。Android Studio模拟器手机类支持8寸和7.3寸折叠屏调试,但不能克隆(即模拟器物理尺寸和分辨率不能修改)。

如果模拟器系统映像是x86系统,则仅支持32位应用程序的安装和运行。如果是纯64位应用,模拟器需要选择arm64-v8a,否则无法安装运行应用。

注意:

1.Android Studio可折叠模拟器无法修改物理尺寸、分辨率和DPI,因此在适配时无法完全模拟一台vivo折叠屏手机。当App或activity resizable activity = true时,可以在Android原生模拟器中检查效果,以便验证剪切屏幕中是否有黑边。

2.64位模拟器需要PC主机支持,部分PC无法正常启动64位模拟器。

#03

折叠和展开模拟器

Android折叠屏模拟器无法修改物理尺寸、分辨率和DPI。如果应用在2.2布局适配中需要100%模拟折叠屏展开屏进行不同分辨率的调试,可以克隆按平板分类的Nexus 10,然后修改vivo折叠屏手机的物理尺寸、分辨率、DPI进行调试验证。

注意:

1.当UI兼容性匹配与物理尺寸强相关时,请务必将屏幕尺寸改为8.03,分辨率为扩展分辨率。

2.需要确认64位模拟器能否运行,这需要PC主机支持。

3.如果手机的DPI模拟和分辨率调试没有问题,在模拟器上运行不了,可以承包给vivo的界面人,抽查在vivo折叠屏的真机上运行。

4.模拟器无法修改DPI。启动模拟器后,需要通过adb shell命令进行设置。

此时打开终端,可以看到模拟器设备已经挂载连接,可以进行adb操作。

lambdaadb设备

连接的设备列表

仿真器-5554设备

模拟器不能直接修改DPI,需要在启动模拟器后单独设置。

亚行壳牌wm密度480

欢迎分享,转载请注明来源:聚客百科

原文地址: https://juke.outofmemory.cn/tech/1730078.html

()
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-22
下一篇 2022-09-22

发表评论

登录后才能评论

评论列表(0条)

保存