2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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

  • 2019-12-17
  • 本文字数:2680 字

    阅读完需:约 9 分钟

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

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




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


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



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

01 华为折叠屏形态简介

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


  • 展开态 显示比例 8:7.1(分辨率 1536x2200)

  • 折叠态正面屏 显示比例 19.5:9(分辨率 2480x1148)

  • 折叠态背面屏 显示比例 25:9(分辨率 2480x892)



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

02 折叠屏适配原则

  • 应用不在屏幕上不留黑边(Aspect-ratio 最小最大比例支持,最小宽高比 1.0,最大宽高比 2.4)

  • 屏幕切换、分屏 Switch/Resize 操作不能有 Crash/ANR

  • 屏幕切换、分屏 Switch/Resize 操作后布局正常(无内容缺失/重叠等)

  • 屏幕切换、分屏 Switch/Resize 操作 Activity 尽量不 Restart

  • Activity 支持 Multi-Resume(分屏应用失去焦点视频播放不停止/再次播放不重放等)

03 折叠屏适配点

允许改变应用尺寸。要适配折叠屏,首先是要让应用支持动态改变尺寸,需要在 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 获取。

04 体验升级,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 文件,文件格式如下:



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



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



商品对比(设计稿)


最终效果如下:



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


本文转载自淘系技术公众号。


原文链接:https://mp.weixin.qq.com/s/vJ3_guFLJrLeM7E6yxgzgA


2019-12-17 18:101153

评论

发布
暂无评论
发现更多内容

2021年之Android面经分享(已获头条、顺丰,androidapp开发工具

android 程序员 移动开发

2021最新整理大厂Android面试高频知识点,阿里高级算法专家公开10份资料

android 程序员 移动开发

2021Android性能优化总结最新、最全面、最完整的资料,大厂内部资料

android 程序员 移动开发

2021年Android开发的前景如何?,安卓面试题及答案

android 程序员 移动开发

2020我的坑爹Android面试经历,(百度,android路由器

android 程序员 移动开发

2020适合中高级工程师的面试题——java基础,移动网页开发框架

android 程序员 移动开发

2021年3月份Android 面经总结!(OPPO和腾讯等大厂,android底层开发百度网盘

android 程序员 移动开发

2020年末知识大总结:Java程序员转Android开发必读经验一份

android 程序员 移动开发

2020年的大厂末班车!啃完这些资料,我拿到了字节跳动Android高级开发工程师的offer

android 程序员 移动开发

2020最新中高阶Android面试题总结-下(附解题思路),androidwifi开发框架

android 程序员 移动开发

2021年最新Android开发岗面试笔试总结,android开发视频播放器

android 程序员 移动开发

2020我的-Android-年中面试复盘:怎么挤进一线大厂?需要掌握些什么

android 程序员 移动开发

2020最新Android大厂高频面试题解析大全(BAT TMD JD 小米)

android 程序员 移动开发

2020非科班生的Android秋招,金九银十求职经历 (快手,android游戏开发实践指南

android 程序员 移动开发

2021 年 9 月美团 Android 面试总结,flutter屏幕旋转监听

android 程序员 移动开发

2021想进阿里?送你一份 40000 字《阿里进阶指南,android音视频编解码

android 程序员 移动开发

2021最新Android必备面试题,上海大厂Android面试经历

android 程序员 移动开发

2020年Android开发年终总结之如何挤进一线大厂?,android界面开发实验报告

android 程序员 移动开发

2020阿里P8单写给Android程序员的建议:这样的offer不能要啊!注意避坑

android 程序员 移动开发

2020年度整理国内一线互联网公司内部Android面试题库,androidstudio开发项目

android 程序员 移动开发

2020应届毕业生,Android春招总结,已入职小米,深入解析android核心组件和应用框架

android 程序员 移动开发

2020最新Android大厂面试真题大全(附答案),移动应用开发的前景

android 程序员 移动开发

模块二作业:微信朋友圈复杂度分析

赵先生

架构实战营

2021了,为什么说音视频技术是技术风口?Android音视频开发这么吃香

android 程序员 移动开发

2020年中总结之----怎么挤进一线大厂?非软文!(1),Android面试题整理

android 程序员 移动开发

2020年中总结之----怎么挤进一线大厂?非软文!,2021Android面试心得

android 程序员 移动开发

2020最新Android大厂高频面试题解析大全(BAT TMD JD 小米)(1)

android 程序员 移动开发

2020这一年的Android面经汇总(百度、腾讯、滴滴,职场中的中年危机

android 程序员 移动开发

2021字节跳动,金三银四内幕Android中高级面试题合集-令人细思极恐!

android 程序员 移动开发

2020年Android高级面试题总结(附答案解析),面试突击版

android 程序员 移动开发

2020年,Android技术人如何实现自我成长?,带你碾压面试官

android 程序员 移动开发

当手机淘宝遇见折叠屏,让购物更随心_语言 & 开发_淘系技术_InfoQ精选文章