前言:
当前看官们对“折叠展开后触发哪个事件”大致比较珍视,我们都想要分析一些“折叠展开后触发哪个事件”的相关文章。那么小编在网络上汇集了一些关于“折叠展开后触发哪个事件””的相关知识,希望同学们能喜欢,朋友们一起来学习一下吧!相信大家这两天已经被三星和华为的折叠屏手机给刷爆朋友圈了。
三星Galaxy Fold 售价1980美元,约合人民币13376元
HUAWEI Mate X 售价2299欧元,相当于人民币1.75万元
朋友圈发关于折叠屏的消息主要分这两种。
普通人:哇!折叠屏,屏幕变大了,看电影打游戏肯定更爽了,不过这玩意肯定不抗摔吧,换个屏得多少钱!
程序员:卧槽!异形屏还没适配完呢,这尼玛还得适配!
别担心,码仔今天就带你来详细剖析一下折叠屏!
如何适配折叠屏
折叠屏在视觉效果来说就是,屏幕变大了,手机变平板了。这样就要求我们的APP在可折叠设备展开时,当前应用页面必须无缝延续到另一个屏幕,并可自动调整大小匹配新的布局,反之亦然。也就是说,应用程序需要准备好在多个屏幕(不同分辨率、密度等)之间切换。
其实Google之前有其应对的策略,在去年的 Android Dev Summit 上,Google 就已经宣布将要对折叠屏提供“Screen Continuity(屏幕连续性)”的原生系统支持,并将这项技术称之为:Foldables。利用这种柔性显示技术,App 可以做到折叠屏设备上的适配工作。
下面我们来看如何实现这种技术:
运行时配置变更 – 系统默认
折叠/展开的操作过程将触发系统向应用发送新布局的配置更改,包括smallestScreenSize, screenSize 和 screenLayout 的配置
每当发生配置更改时,Android 默认情况下会重启正在运行的 Activity(先后调用onDestroy()和 onCreate())。目的是使用与新设备匹配的备用资源自动重新加载您的应用。
当 Activity 重启时,恢复之前的状态很重要。在销毁 Activity 之前,可以调用onSaveInstanceState来保存应用状态的数据;之后在 onCreate或onRestoreInstanceState中恢复 Activity 状态。
不要在活动的 OnDestroy中调用 finish或自行终止进程,否则将导致 APP 在设备折叠或展开时关闭。
运行时配置变更 – 自行处理
如果因性能限制等因素希望在不自动重启 Activity 的情况下处理配置更改,您需要在应用清单 manifest 中增加 android:configChanges 属性,并至少包含以下配置值:
当指定的属性(可折叠设备的折叠/展开时触发)发生变化时,MyActivity 不会重启 , 而是会收到对 onConfigurationChanged的调用,在此方法中处理配置变更,更新视图布局、重新加载资源。通过此方法即能实现在系统不重启 Activity 的情况下重置 UI。
总的来说,折叠屏的适配有点类似平板+旋转屏的综合体,也需要配置文件+多布局。
如何模拟折叠屏
上面我们已经讲了如何适配折叠屏,这时候肯定有同学要说了:适配毛线啊,一个手机1W7,小公司会给配测试机?自己买得起?所以还是不要适配了!
作为一个有梦想的开发者,能被这点困难打到吗?
买不起我们还没发用虚拟机么,接下来码仔带大家一步一步实现折叠屏虚拟机的创建。
2、创建虚拟机
3、选择设备 : 平板电脑> Nexus 10
4、选择系统镜像 : 可选择 Android9.0 开源项目镜像(可下载)
或者选择 Android 9.0 Google 镜像(可下载)
5、配置方法 : 选择 Portrait,其他使用默认值
6、运行AVD
7、下载折叠屏模拟器 : FoldableEmulator_1.01.apk ,可进入下面的网页进行下载 :
8、安装折叠屏模拟器APK
9、授予权限
“SYSTEM_ALERT_WINDOW”权限也可以在 activity 中授予,在应用程序启动时显示,无需使用上述命令授予。
10、仿真使用
OK,到这里码仔已经把折叠屏的适配和模拟器的使用介绍给大家了,大家还不赶紧去搞一波?
近期文章:
来~ 你有一份Binder机制深度面试问题
Android 深入理解 Notification 机制
只有程序员才懂的16张趣图
今日问题:
大家对折叠屏怎么看?
打卡格式:
打卡 X 天,答:xxx 。
标签: #折叠展开后触发哪个事件