本文根据京东高级Android工程师耿蕾在第六期零基础高效适配折叠屏活动上发表《京东App折叠屏手机平行视界功能适配》主题演讲整理而成,在本议题中重点介绍了从适配效果、适配过程、适配方案、后续规划四方面为开发者演示了京东App折叠屏手机的实战案例。
适配效果
视频:京东App完成适配后的效果
在折叠屏手机上,京东App可以显示更全更多更丰富的内容,为用户提供全品类的购物体验。具体表现是快速浏览、商品对比、边看边聊的用户体验。
适配过程
1.适配前期规划
首先是产品与负责制定的研发介入,接到需求以后进行调研,按照华为提供官方的接入文档进行简单的接入。通过查看当前接入的表现以及结合现有的代码,得出初步适配方案,并对适配难度也有了一定的了解。在调研过程中,总结出一些重点关注的问题,预估修改成本,确定初步的适配方案。与业务方同步适配方案,将前期调研需要注意的问题周知到研发,对业务方提出的疑问进行解答,确定最终适配方案。
2.适配过程
具体适配过程包括基础适配与平行视界功能适配。
2.1基础适配
基础适配的要求是:
• 应用的所有页面在折叠态和展开大屏态下都能全屏展示,UI显示正常。
• 应用的所有页面在折叠态和展开态之间切换都能保证用于业务不中断,UI显示正常。
需要注意:在日常开发工作中,由于业务的要求,不可避免的有固定View宽高的操作。大家需要查看在不同状态下,view显示是否正常,是否需要手动修改View尺寸大小。
2.2平行视界适配
平行视界功能支持屏幕可显示更多内容以及多窗口交互。平行视界功能的接入很简单,按照华为提供的适配文档进行操作即可。需要重点关注:
2.2.1Activity窗口透明问题
在开发过程中,会有给Activity设置窗口透明属性的业务需求。代码逻辑如下图:
我们在测试中发现,窗口透明Activity在平行视界的情况下,会在右侧展示一个新的界面,而不是直接覆盖当前Activity之上,这种展示效果视觉上会很奇怪。后续经过反馈沟通之后,制定了一个规则:给Activity设置窗口透明属性的话,会直接覆盖在当前的页面之上。基于这个规则,在京东App咨询客服页面,之前设置Activity窗口背景透明属性不符合边看商品边咨询的业务场景。经过产品侧讨论之后,客服Activity去掉了窗口透明属性。
2.2.2兼容代码
从业务场景来说,从一个视频打开商品详情,为了给用户带来更好的体验,之前是把视频做成小窗,缩在视频右下角。在双屏里,显然不需要这样的操作,所以在这里做了一个兼容。
兼容API使用的代码如下:
适配方案
1.你的应用要支持resizeable属性
2.要增加configchanges配置项
3.接入平行视界功能的配置
后期规划
1.自定义页面交互,提升用户体验
固定直播界面,用户可以在直播界面不关闭的条件下完成整个购买流程或者用户可以自行切换直播的分屏、全屏。
2.创新交互
用户可以拖拽当前页面上的某一部分到第三方应用,实现对应内容的分享,比如视频详情的分享或者店铺分享。
· END ·