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

博主:74657465 2023-12-16 76 0条评论
摘要: 大家好,小迷为大家解答以上vivo手机有折叠屏的吗,vivoXFold折叠屏适配官方指南,的问题,也是到网上收集了关于vivo手机有折叠屏的吗,vivoXFold折叠屏适配官方指南...

大家好,小迷为大家解答以上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,需要启动模拟器后单独设置。

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