vivo手机有折叠屏的吗 vivoXFold折叠屏适配官方指南

导读 大家好,小迷为大家解答以上vivo手机有折叠屏的吗,vivoXFold折叠屏适配官方指南,的问题,也是到网上收集了关于vivo手机有折叠屏的吗,viv

大家好,小迷为大家解答以上vivo手机有折叠屏的吗,vivoXFold折叠屏适配官方指南,的问题,也是到网上收集了关于vivo手机有折叠屏的吗,vivoXFold折叠屏适配官方指南,的信息,那么下面分享给大家一起了解下吧。

解答:

1、 本报vivoXFold折叠屏适配官方指南8月消息,日前,vivo首款折叠屏手机正式公布。为了让开发者更好的适应新机型,vivo团队推出了新的适配指南。

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

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

4、 展开状态

5、 折叠状态

6、 适应建议

7、 #/p使应用程序大小可调

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

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

10、 p=' '

11、 Android : resizeableactivity=' true '

12、 p=' '

13、 Android : resizeableactivity=' true '/

14、 注意:

15、 当应用的targetSdkVersion=,android系统默认为Android : Resizable Activity=' true ',无需应用声明即可支持应用大小调整。在应用的targetSdkVersion时,需要为应用或活动应用Android : Resizable activity=' true '设置。

16、 当Android : Resizable activity=' true '时,将对App的所有活动生效,所以当应用只需要声明单个活动时,只能对单个活动进行设置。

17、 侧面建议:为应用设置Android : Resizable Activity=' true ',避免折叠屏状态改变后应用部分页面出现黑边的问题。

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

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

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

21、 Android : name=' Android . supports _ size _ changes ' Android : value=' true '/

22、 #/p采用不同分辨率的布局调整

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

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

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

26、 #/p适应大屏体验

27、 在适配大屏幕时,一些显示的页面只是被放大了,并没有利用大屏幕的空间来展示更多的内容。

28、 因此,开发人员需要有效利用大屏幕空间来调整布局,显示更多内容。

29、 要解决这种显示问题,开发者可以在Android manifest . XML Android 3360配置更改中声明' screenSize '的更改,然后在onConfigurationChanged中动态调整布局。

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

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

32、 #/p确定折叠屏的方法

33、 运行时判断:

34、 android.util.FtDeviceI

35、public static String getDeviceType

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

37、开发者可以通过反射的方式获取设备类型,返回值 foldable 表示折叠屏设备。

38、反射代码示例:

39、private static boolean isVivoFoldableDevice(){

40、try {

41、Class c= Class.forName("android.util.FtDeviceInfo");

42、Method m = c.getMethod("getDeviceType");

43、Object dType = m.invoke(c);

44、Log.d("fold","getDeviceType="+dType);

45、return "foldable".equals(dType);

46、} catch (Exception e) {

47、e.printStackTrace();

48、}

49、return false;

50、}

51、#/p>

51、机型配置

52、若应用已经针对其他厂家折叠屏设备进行了适配,新的折叠屏设备根据机型名配置即可生效,可直接配置 vivo 折叠屏 model 型号 V。

53、调试和验证

54、#/p>

54、手机调试

55、DPI 设置:adb shell wm density /p>

55、展开态:adb shell wm size /p>

55、折叠态:adb shell wm size /p>

55、Note:

56、 折叠屏展开态和折叠态 DPI 一样都是 只需要设置一次

57、 展开态和折叠态进行切换时,可以通过设置不同的分辨率来进行模拟切换

58、 查看手机当前 DPI 和 size 的方法:adb shell wm density 和 adb shell wm size

59、 DPI 和分辨率设置后,重启手机设置不会发生变化,若需要调回手机默认值,可通过 adb shell wm size reset 和 adb shell wm density reset 进行恢复

60、 由于 Android 模拟器调试效率问题,推荐用手机模拟调试和验证;若需要 还原真机物理尺寸,可考虑模拟器

61、#/p>

61、模拟器调试

62、除了通过手机动态切换分辨率的方式来进行调试外,还可通过模拟器进行调试和验证。Android Studio 模拟器 Phone 分类支持 英寸和 英寸的折叠屏调试,但是无法克隆(即无法修改模拟器的物理尺寸和分辨率)。

63、模拟器 System image 如果是 x的系统,则只支持 位应用的安装和运行;如果是纯 位的应用,模拟器需要选择 armv,否则无法安装和运行应用。

64、Note:

65、 Android Studio Foldable 模拟器无法修改物理尺寸、分辨率和 DPI,因此在适配时,无法完全模拟 vivo 折叠屏手机,在 App 或 activity resizeableActivity = true 时,为了验证切屏是否有黑边可以在 Android 原生模拟器查看效果。

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

67、#/p>

67、折叠屏展开态模拟器

68、Android 折叠屏模拟器无法修改物理尺寸、分辨率和 DPI。若应用在进行《不同分辨率布局适配》时需要 模拟折叠屏展开态的屏幕进行调试,可以通过克隆 Tablet 分类的 Nexus 然后修改 vivo 折叠屏手机对应的物理尺寸、分辨率和 DPI 进行调试和验证。

69、Note:

70、 应用 UI 兼容性适配对物理尺寸有强关联时,请务必修改 Screen size 为 分辨率是展开态分辨率

71、 需确认 位模拟器是否可以运行需要 PC 主机支持

72、 若手机模拟 DPI 和分辨率调试无问题后,无法在模拟器运行,可以发包给 vivo 接口人,在 vivo 折叠屏真机运行点检

73、 模拟器无法修改 DPI,需要启动模拟器后,通过 adb shell 命令设置

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

75、λ adb devices

76、List of devices attached

77、emulator-device

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

希望通过这篇文章能帮到你,文章到此讲解结束。