GalaxyFold适配常见问题修改建议

更新时间:2023-06-10 15:16:48 阅读: 评论:0

Galaxy Fold适配|常见问题修改建议分辨率信息
1.使用场景一:APP连续性
可折叠设备展开时,当前应用页面须无缝延续到另一个屏幕,并可自动调整大小匹配新的布局,反之亦然。也就是说,应用程序需要准备好在多个屏幕(不同分辨率、密度等)之间切换。
适配原则
双屏在切换过程中,APP不发生Crash/FC(Forced quit)/ANR, 尽量不重启,页面能够适应新的屏幕,不发生内容缺失或布局不对称,切换过程自然流畅不卡顿。
姜子牙钓鱼问题分类
1-1Folding layout:折叠/展开操作的布局问题
1-2Folding-内容/状态丢失:折叠/展开操作时出现的内容/状态丢失问题
1-3Folding-Crash/FC/ANR:折叠/展开操作时出现的Crash/FC/ANR问题
1-1Folding layout问题及修改建议
1)问题描述:从折叠到打开屏幕,APP页面未布满屏幕,从展开到折叠屏幕,页面显示不全。
修改建议:正确处理运行时配置变更。
●如果采用系统默认方式处理,即屏幕发生切换时,重启正在运行的Activity(先后调用
onDestroy() 和onCreate())。建议在onCreate() 方法中重绘页面,例如可以在屏幕大于sw580时使用平板模式重绘(仅为举例,需根据各自业务实际情况调整)。
●如果采用不重启Activity自行处理的方式,可在Activity或者fragment的
onConfigurationChanged()方法中,重新获取屏幕的宽高绘制视图。
*注意,使用这种不重启Activity的方式,您需要在应用清单manifest中增加android:configChanges属性,并至少包含以下配置值:
2)问题描述:进行折叠/展开操作,自定义View的位置偏移。
修改建议:屏幕切换后,屏幕宽高发生了变化,如果是自定义的View,需要在自定义的代码中刷新布局,重写onMeasure() 或onDraw() 方法。
1-2F olding –内容/状态丢失问题及修改建议
问题描述:例如屏幕发生切换后,摄像头从前置变成了后置;或者输入的内容丢失等问题。
修改建议:
●如果采用系统默认方式处理,销毁Activity之前,需调用onSaveInstanceState()来保存应用状
态的数据,并在重新创建时恢复状态。
●如果采用不重启Activity,自行处理的方式,可保持原有状态。
在应用清单manifest中增加android:configChanges 属性及进行配置,在onConfigurationChanged()方法中处理配置变更。
1-3 Folding – Crash/FC/ANR
修改建议:如果采用系统默认方式处理,
●重新加载资源时不要出现异常调用。
●重新加载Activity时,不要在OnDestroy()中调用finish()或自行终止进程,否则将导致
APP在设备折叠或展开时关闭。
☐参考资料
-/galaxy/foldable/techdocs#app-continuity 2.使用场景二:Multi-Window
Galaxy Fold 支持三个窗口的多任务处理功能,十分贴合展开后大屏的使用场景,可带来高效并发的体验。适配原则
建议APP支持多窗口,并能正常布局,窗口Switch或Resize也能正确布局并且不发生Crash/FC(Forced quit)/ANR, 改变焦点,Switch或Resize操作都不会停止播放视频。
问题分类
2-1不支持多窗口
2-2Multi Window layout
2-3Multi Window-内容/状态丢失
2-4Multi Window-Crash/FC/ANR
2-5Stop Playback
2-1不支持多窗口
建议尽量支持多窗口,声明方法:
声明resizeableActivity属性,目的是通知系统该APP是否为Multi-window做了适配。
◆如果设置为true,允许进入多窗口模式。
◆如果设置为fal,不允许进入多窗口模式,只允许全屏显示。
◆如果未设置,属性值默认为true。如果低于Android N,请参看下文说明。
2-2Multi Window layout教师主要业绩
问题描述:Multi Window状态下以及进行窗口Switch, resize操作时出现的布局问题。
修改建议:正确处理运行时配置变更
●如果采用系统默认方式处理,即屏幕发生切换时,重启正在运行的Activity(先后调用
onDestroy()和onCreate())。建议在onCreate()方法中重绘页面,例如可以在屏幕大于sw580时使用平板模式重绘(仅为举例,需根据各自业务实际情况调整)。
●如果采用不重启Activity,自行处理的方式,可在Activity或者fragment的
onConfigurationChanged()方法中,重新获取屏幕的宽高绘制视图。
●如果是自定义的View,需要在自定义的代码中刷新布局,重写onMeasure() 或onDraw() 方
法。幼儿园小朋友
2-3Multi Window-内容/状态丢失
问题描述:Multi Window状态下以及进行窗口Switch, resize操作时出现的内容/状态丢失问题。
修改建议:
●如果采用系统默认方式处理,销毁Activity之前,需调用onSaveInstanceState()来保存应用状
态的数据,并在重新创建时恢复状态。
洛克的教育思想
●如果采用不重启Activity,自行处理的方式,可保持原有状态。
在应用清单manifest中增加android:configChanges 属性及进行配置,在onConfigurationChanged()方法中处理配置变更。
请放2-4Multi Window-Crash/FC/ANR
修改建议:如果采用系统默认方式处理,
●重新加载资源时不要出现异常调用。
●重新加载Activity时,不要在OnDestroy()中调用finish()或自行终止进程,否则将导致
APP在设备折叠或展开时关闭。
2-5Stop Playback
问题描述:在切换到Multi Window状态下焦点发生变化/Switch/Resize时视频停止播放。
修改建议:
●播放视频的Activity不要在其onPau()中暂停视频,建议在onStop()中处理暂停,在onStart()中
播放。
●在Android P中,应用可以增加支持Multi-resume属性,支持以后,在多窗口中的应用都会处于
Resume状态,而非pau状态。
毕淑敏散文集
立定跳远
丧鞭☐参考资料
-/training/multiscreen/screensizes
-/training/multiscreen/screendensities
-/guide/topics/ui/multi-window
-/guide/topics/resources/runtime-changes
-/galaxy/foldable/techdocs#multi-resume

本文发布于:2023-06-10 15:16:48,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/920237.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:屏幕   问题   展开   状态
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图