当手机淘宝遇见折叠屏,让购物更随心

简介: 伴随手淘技术团队对华为折叠屏适配工作的展开。半年前还只是概念方案的分屏设计方案已正式实现。华为折叠屏上的淘宝已全面支持分屏多任务,以后商品比价、边逛边聊更加轻松便捷,为大家带来不一样的购物体验。

华为 5G 新品发布会上,Mate X 正式亮相,淘宝也作为重点展示应用出现在发布会的 PPT 上,同时也成为折叠屏生态联盟应用矩阵的第一位。

image.png

1.gif

现场华为折叠屏上的淘宝多任务演示

伴随手淘技术团队对华为折叠屏适配工作的展开。半年前还只是概念方案的分屏设计方案已正式实现。华为折叠屏上的淘宝已全面支持分屏多任务,以后商品比价、边逛边聊更加轻松便捷,为大家带来不一样的购物体验。

image.png

折叠屏第二屏的多任务模式

华为折叠屏形态简介

华为mate x屏幕形态分为三种:

  • 展开态 显示比例8:7.1(分辨率1536x2200)
  • 折叠态正面屏 显示比例19.5:9(分辨率2480x1148)
  • 折叠态背面屏 显示比例25:9(分辨率2480x892)

image.png

用户可以在三种形态上进行随意切换,因此第一步需要保证手淘在三种屏幕形态下的主功能没问题。

折叠屏适配原则

  • 应用不在屏幕上不留黑边(Aspect-ratio最小最大比例支持,最小宽高比 1.0,最大宽高比 2.4)
  • 屏幕切换、分屏 Switch/Resize 操作不能有 Crash/ANR
  • 屏幕切换、分屏 Switch/Resize 操作后布局正常(无内容缺失/重叠等)
  • 屏幕切换、分屏 Switch/Resize 操作 Activity 尽量不 Restart
  • Activity支持Multi-Resume(分屏应用失去焦点视频播放不停止/再次播放不重放等)

折叠屏适配点

允许改变应用尺寸。要适配折叠屏,首先是要让应用支持动态改变尺寸,需要在 menifest 中的 Application 或对应的 Activity 下声明。

<activity
           android:name="com.test..TestActivity"
           android:resizeableActivity="true"
           android:configChanges="orientation|screenSize|keyboardHidden"
           android:screenOrientation="portrait"
           android:exported="false"

在 Manifest 文件的 节点中增加 数据,设置最大/最小支持比例。

<meta-data android:name="android.max_aspect" android:value="2.4" />  
<meta-data android:name="android.min_aspect" android:value="1.0" />

APP 支持 Multi-Resume(Android P 开始支持),在Manifest 文件的节点中增加 数据, 在设置了该元数据后,应用在分屏模式下失去焦点后不会收到 onPause() 回调,如果需要知道用户“焦点”是否还在应用上,使用 onWindowFocusChanged() 回调判断。

<meta-data android:name="android.allow_multiple_resumed_activities" android:value="true" />

Activity 支持显示动态尺寸/比例变化不重启,在 manifest 文件的 节点中的android:configChanges 属性增加 screenSize|smallestScreenSize|screenLayout 字符串。

当屏幕比例变化时,系统会回调 Activity 的 onConfigurationChanged() 方法,而避免 Activity 重新启动。应用复写 onConfigurationChanged() 方法,通过该方法的 Configuration 参数获得屏幕的分辨率等信息,就可以针对不同比例屏幕下的应用界面布局做相应调整,如切换布局、调整控件位置和间距等。

如果 Activity 走 Restart 销毁模式,需要处理 onSaveInstanceState() 保存状态,以免信息丢失。在分屏模式下,如果希望获得应用实际显示的尺寸,使用 Activity 的 Context 调用 getDisplayMetrics 获取。

体验升级,Magic Window探索

经过几个月的适配,终于完成了第一个折叠屏可用版本的安装包。但是由于手淘是针对窄屏设计的 App ,在展开屏状态下,宽高比接近 1:1 ,可视内容会变得很少,无法发挥折叠屏的大屏优势。为了给用户最佳的使用体验。手淘团队决定适配华为 mate X 的 Magic Window 方案。

Magic window,是华为提供的系统级分屏的解决方案。应用可以根据自身业务设计分屏显示 Activity 组合,以实现符合应用逻辑的最佳单应用多窗口用户体验。

本次手淘适配 magic window ,使用自定义模式进行适配。即由设计师确定左右屏的交互逻辑,由技术同学针对交互逻辑在指定配置文件进行配置,实现分屏方案。

具体实现方法:在 Manifest 文件中新增 标签

<meta-data android:name="EasyGoClient" android:value="true" />

在 asserts 目录下新增 easygo.json 文件,文件格式如下:

image.png

在 magic window 模式下,折叠屏优势得到充分体现,以下是几个经典场景。

image.png

浏览商品同时咨询客服(设计稿)

image.png

商品对比(设计稿)

最终效果如下:

1.gif

mate x真机

手淘技术团队秉承客户第一原则,一直致力于用户体验优化,未来我们将在用户体验上做出更多努力,给用户带来更好的体验。关于折叠屏适配,大家有什么不同的见解?欢迎下方留言区探讨。

One More Thing

淘系技术部依托淘系丰富的业务形态和海量的用户数据,我们持续以技术驱动产品和商业创新,不断探索和衍生颠覆型互联网新技术,以更加智能、友好、普惠的科技深度重塑产业和用户体验,打造新商业。我们不断吸引用户增长、机器学习、视觉算法、音视频通信、数字媒体、移动技术、端侧智能等领域全球顶尖专业人才加入,让科技引领面向未来的商业创新和进步。

请投递简历至邮箱:ruoqi.zlj@taobao.com

更多职位信息请阅读 「淘系技术部,“职”想要你」

相关文章
|
2月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
|
移动开发 weex 容器
《手机淘宝H5和Weex容器的构建实践》电子版地址
手机淘宝H5和Weex容器的构建实践
130 0
《手机淘宝H5和Weex容器的构建实践》电子版地址
|
Android开发
关于安卓折叠屏手机出现fragment重叠问题
关于安卓折叠屏手机出现fragment重叠问题
475 0
关于安卓折叠屏手机出现fragment重叠问题
|
供应链 流计算
传小米今年将量产折叠屏手机,上下折叠设计
折叠屏手机是2019年手机行业最热门的话题,这也多亏了几款折叠手机成功上市,包括华为的MateX系列,三星的Galaxy Fold、Galaxy Z Flip和摩托罗拉的Razr。这几款手机都有着不同的设计思路,为智能手机行业带来了更多的发展方向。
229 0
传小米今年将量产折叠屏手机,上下折叠设计
|
5G 流计算 芯片
华为折叠屏手机Mate X宣传海报曝光 有望近期开售
早在今年2月的MWC 2019大展上,华为推出的首款折叠屏新机Mate X就博取了众多目光。极具想象力的鹰翼式折叠设计,开合随心自由变幻,一举荣获“MWC 2019最佳新联接移动终端奖”。
242 0
华为折叠屏手机Mate X宣传海报曝光 有望近期开售
|
人工智能 运维 资源调度
华为重磅发布5G核心芯片天罡,全球首款5G折叠屏手机2月面世
上个星期,任正非在接受媒体采访时曾表示:全世界能做 5G 的厂家很少,华为做得最好。处在全球视线焦点之中的华为突然决定集中发布自己的最新技术。今天上午,华为在北京召开了 5G 发布会,发布了全球首款 5G 基站核心芯片天罡,以及 5G Modem Balong 5000。
271 0
华为重磅发布5G核心芯片天罡,全球首款5G折叠屏手机2月面世
|
运维 监控 前端开发
Qcon演讲实录|手机淘宝客户端的攻防演练实践
混沌工程是一个业界比较流行的防范系统性风险的方法论, 其核心思想是通过不断地失败来避免失败,以主动制造故障的方法来宏观地验证业务的容灾和恢复能力。这一概念在服务端存在大量的实践和落地, 在客户端还是属于探索阶段,业界甚少甚至没有类似尝试。手机淘宝等大型应用其实是一个广义概念上的分布式系统, 混沌工程理念是否也可以在这类型广义分布式系统上产生价值呢?答案是肯定的,本次分享将向大家介绍手机淘宝客户端是如何使用攻防演练来降低客户端系统风险、提高快速交付能力的。
|
消息中间件 缓存 前端开发
手机淘宝轻店业务 Serverless 研发模式升级实践
我们在探索Serverless一体化研发模式的最佳提效实践。
手机淘宝轻店业务 Serverless 研发模式升级实践
|
前端开发 JavaScript 容灾
手机淘宝短视频业务「哇哦视频」迁移上 FaaS 笔记公开
在看了那么多“技术原理/顶层设计/平台建设”相关的文章之后,我相信你对 FaaS 肯定产生过跃跃欲试的感觉,但也肯定存在诸多疑惑。关于这些疑惑,经过了这四个月的考验,我想我已经有了自己的答案。接下来我将会向大家分享我这四个月的历程,带大家一起看看,在一名一线业务同学的眼中,FaaS 究竟会给前端同学带来什么?
手机淘宝短视频业务「哇哦视频」迁移上 FaaS 笔记公开
|
运维 监控 安全
无接触,云办公!5天完成手机淘宝新版本迭代,揭秘阿里工程师协同研发“神器”
5天完成手机淘宝新版本迭代,阿里工程师用“神器”刷新纪录
1209 0