折叠屏适配了解下

相信大家这两天已经被三星和华为的折叠屏手机给刷爆朋友圈了。

三星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,小公司会给配测试机?自己买得起?所以还是不要适配了!

作为一个有梦想的开发者,能被这点困难打到吗?

买不起我们还没发用虚拟机么,接下来码仔带大家一步一步实现折叠屏虚拟机的创建。

1、进入 Android Studio-> AVD Manager(Android Studio 可在 Google 网下载地址:https://developer.android.google.cn/studio/install )

2、创建虚拟机

3、选择设备 : 平板电脑> Nexus 10

4、选择系统镜像 : 可选择 Android9.0 开源项目镜像(可下载)

或者选择 Android 9.0 Google 镜像(可下载)

5、配置方法 : 选择 Portrait,其他使用默认值

6、运行AVD

7、下载折叠屏模拟器 : FoldableEmulator_1.01.apk ,可进入下面的网页进行下载 : https://developer.samsung.com/galaxy/foldable/test

8、安装折叠屏模拟器APK

9、授予权限

“SYSTEM_ALERT_WINDOW”权限也可以在 activity 中授予,在应用程序启动时显示,无需使用上述命令授予。

10、仿真使用

折叠屏的适配和模拟器的使用介绍给大家了,大家还不赶紧去搞一波?

附《Android核心知识笔记2020》分享

前段时间我和圈子里的几位架构师朋友一起闲聊时的突发奇想,我们在学习Android开发的时候或多或少也受到了一些前辈的指导,所以想把这份情怀延续下去。三个月后,这套资料就出来了,需要这份资料的朋友加Android学习交流群1049273031即可获取。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,185评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,652评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,524评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,339评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,387评论 6 391
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,287评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,130评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,985评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,420评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,617评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,779评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,477评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,088评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,716评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,857评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,876评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,700评论 2 354