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,需要启动模拟器后单独设置。
希望通过这篇文章能帮到你,文章到此讲解结束。
作者:7465本文地址:https://www.7465.cn/bao/65368.html发布于 2023-12-16
文章转载或复制请以超链接形式并注明出处7465育婴网