安卓平板手机屏幕损坏如何导出数据无法操作了,如何把数据导出来?

本文教你如何将iPad或安卓平板电脑连接到Windows或macOS电脑上。

方法1用数据线连接安卓平板电脑(PC)

  1. 1用USB数据线将平板电脑连接到电脑上。 使用平板电脑自带的充电线或兼容的充电线。平板电脑上会出现一条通知。

  2. 如果平板电脑带有驱动程序或软件,在继续操作之前先在电脑上安装它们。
  3. 安卓设备通常不需要安装特殊的驱动程序就能连接到Windows。
  4. 2点击平板电脑上的通知。 随后会出现一个连接选项列表。

  5. 立即下载 来下载文件。

  6. 根据你的操作系统点击下载链接,下载应用程序。
  7. 有关安装iTunes的帮助,请上网搜索。
  8. 2用USB数据线将iPad连接到电脑上。 使用iPad自带的数据线或兼容的线。这样就会自动启动iTunes,并在iPad上弹出消息。

  9. 如果iTunes没有自动启动,点击“程序坞”(macOS)中的音符图标,或者点击“开始”菜单(Windows)中

    所有程序 区域中的iTunes。

作者:周宇,原文标题:《向国产厂商“学习”的 Android 12L,能让 Android 平板追上 iPad 吗?》,头图来自:视觉中国

不到 3000 块,120Hz 屏幕、2K 分辨率、旗舰处理器,怎么说都算是一个合格的“床上用品”。

前段时间买了新 Android 平板的朋友这样和我说到,价格不高、配置不错、屏幕也大,最适合在床上刷剧、听音乐,有需求的时候还可以把它当做便携屏使用,一举多得。

在他看来,如今的 Android 平板算是一款纯娱乐产品,老生常谈的应用适配问题限制了这一类设备的发挥,和手机共用一套应用生态的平板,在适配优先级上永远是落后的,现在仍然有大量应用没有适配平板。

上个月末,Google 公布了面向大屏设备的 Android 12L 系统,随后陆续更新了新系统的开发标准文档、设计资源等。

按照 Google 的规划 Android 12L 在今年冬季开始测试,到明年第一季度正式推出,到时会有搭载该系统的新设备发布,而目前想体验的话就只能使用官方提供的 Android 模拟器。

由于是面向开发者的预览版系统,普通用户能感知到的功能变化其实不多,对于国内用户而言,甚至还会有种“熟悉感”。

Android 12L 最容易感知到的变化来自 Dock 栏,相比手机增长了不少,不过可能是首个预览版的问题,常驻应用只能保留 5 个,系统底部的小横条作为手势交互区依然保留,操作方式和 Android 12 大同小异,国内用户应该也能快速上手。

长按应用从 Dock 栏中拖出就会自动自动进入分屏模式,从底部上滑进入多任务系统后,底部同样有一个分屏按钮,方便用户操作。

对于大屏设备而言,分屏的重要性不言而喻,大屏幕除了显示更多,提升展示信息量,分屏显示 2 个应用也能更好地提升操作效率,Google 甚至表示要让所有的应用启动后自动进入分屏模式。

双列显示是另一个比较容易感知的功能,屏幕增大之后,通知栏改成了两列,设置等应用也是,算是对屏幕空间的有效利用。

至于还没有适配的应用,Google 表示会提供一个兼容模式,提升应用的稳定性和视觉观感。

简单来说适应性设计会根据屏幕大小决定应用内容显示模式,就拿 Gmail 为例子,手机正常竖屏显示,屏幕更大的折叠屏手机采用双列显示,而屏幕更大更修长的平板屏幕则在双列显示的基础上进一步扩展,和桌面端一样显示三列。

按照惯例 Google 系应用将会是首批适配适应性设计的应用,第三方应用在美学设计上可能会与官方公布的案例有区别,但最终的 UI 排列基本上还是会遵循标准的。

怎么样,看起来是不是很熟悉,除了适应性设计,无论是双列显示还是更便捷的分屏功能,此前我们都在小米、华为等国内厂商发布的 Android 平板中见到过,像是 MIUI 平行窗口。

为了获得竞争优势,国产手机厂商走在 Google 前面已经不是新鲜事了,尤其是在平板这个品类,要知道 Google 此前对这一品类几乎是放养状态。

当然,这并不意味着 Android 12L 完全是“学习”友商的产物,它的意义在于建立标准,推动 Android 平板应用生态发展,比起强制放大、拉伸应用,适配后的平板应用显然体验更好,不会出现应用展示比例错误、显示模糊的情况。

其实这已经不是 Google 首次推出面向平板的 Android 系统了,早在 2011 年就推出了面向平板的 Android 3.0 系统,并更新了多任务系统等功能。

然而,大多数人可能都没听说过这一系统,和手机不一样,Google 在 Android 3.0 系统上选择了闭源,与摩托罗拉等几个厂商共同开发这一生态,其他厂商很难获取相应系统,快速推出相应的设备。

闭源是为了更好地建立规范,但显然 Google 步子迈得太快,当时 Android 系统的市场占有率并不算非常高,用户接受度也并不是很高,Android 3.0 系统就只能昙花一现,从 Android 4.0 开始就将手机平板合并且开源了。

从 Google 发布的 Android 12L 开发和设计文档来看,这次它吸取了教训,还是和往常一样选择将系统开源,严格来说其实手机也可以使用 Android 12L 系统,但体验上和 Android 12 差别不大。

其次,就是降低开发者的开发和维护成本。

Google 在 Android 12L 的开发文档中表示该系统主要为 600dp 以上的设备设计,dp(密度无关像素)是 Google 为了平衡 Android 设备屏幕尺寸混乱特意推出的设计标准,它和像素密度(PPI)挂钩,两者可以通过一定比例换算。

不同手机、平板虽然屏幕尺寸不一样,但屏幕分辨率还是在一定区间内,通知栏和底部手势区都是固定的,那么只需要划定显示元素大小就能保证内容不被遮挡,以 dp 为标准刚好就能划定显示元素大小,甚至不会受分辨率高低影响。

▲图一低分辨率屏幕中以 dp 为标准显示,图二高分辨率屏幕以 dp 为标准显示. 图片来自:Google

当然 dp 并不是一个完美的设计标准,它只能覆盖目前主流的屏幕尺寸,对于一些相对少见的设备还是没办法,像个人开发者或中小型机构也会因为适配成本选择性地放弃适配部分设备,最终到用户手里就是应用显示不全或强制拉伸。

对比来看,iOS/iPadOS 生态就好多了,苹果推出的产品有限,屏幕尺寸也就那么几种,开发者维护起来会轻松一些。

现在你或许能了解为什么 Google 要在 Android 12L 上推出适应设计,三种不同的比例很好的匹配了不同尺寸的设备,以 dp 为标准也能尽量保证元素显示一致性,

▲根据屏幕尺寸调整应用内容显示

以代码为基础的适应性设计也能减轻开发者工作量,至于怎么显示将由系统检测设备尺寸和分辨率之后自动匹配。

一次开发适配多个设备,华为和苹果等科技大公司都在做这件事,也是业界的主流发展方向。

此外,Google Play 应用商店也针对 Android 12L 做出了一些特别的变化,要新增一项大屏幕应用评分,来展现是否适配、体验如何,Google 也会根据大屏幕应用质量指南对商店内的应用做出评估,并展示在应用界面,方便人们选择。

评估数据分享本身不是一件特别复杂的事情,或许明年 Android 12L 正式推出时,我们也能在国产 Android 平板的应用商店中看到类似的功能。

在官方推文中,Google 表示目前已经有超过 2.5 亿大屏幕设备搭载了 Android 系统,这时推出 Android 12L 对于它而言确实是一个不错的契机。

平板市场回暖,促使多个厂商回归,小米、华为、realme 等厂商都在推出 Android 平板厂商,数据调研机构 IDC 也表示 2021 年上半年全球平板市场仍然在稳步提升。

另一个契机则来自折叠屏手机,从三星推出首款 Galaxy Fold 折叠屏手机到现在已经 3 年了,这类产品硬件成熟度越来越高,就等成本进一步降低,走向普及了。

此前 SamMobile 就曾报道称 Google 要推出相应的折叠屏设备,相关的消息今天仍然时有出现,Android 12L 就像是为建设一个足够好的基础应用生态做准备一样。

9Tooogle 曾经尝试以三星 Galaxy Fold 3 同款尺寸开启模拟器,体验 Android 12L 预览版,双列显示、更便捷的分屏功能对于 7.6 英寸的 Fold 3 而言其实还是蛮适用的。

▲折叠屏手机中间折叠区域可能被遮挡,需要开发者针对性做出调整. 图片来自:9TOoogle

Google 在 Android 12L 的开发文档中也提到了,系统要做到识别折叠,避免应用内容被铰链区域遮挡,同时适应性设计也能更好的适配内屏和外屏,真正发挥出折叠屏大屏幕的优势,看到更多内容。

Android 12L 系统是一个好的开始,真正要追上 iPad,关键不在于销量,而是 Android 平板能做什么,如果还是只是用来刷剧娱乐,那么它和之前没有任何区别。

应用生态丰富度仍然是最重要的影响因素之一,Android 平板生态如果有 Procreate 这样的创意应用,乃至 Photoshop 这样的生产力应用出现,和 iPad 的差距才会缩短。

声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

很多年前,前端同学都觉得PC端的适配(兼容处理)难,都认为移动端的时代适配会容易得多,也无需考虑那么多的事情。事实并非如此,移动端的时代同样面临着各种适配的处理。特别是刘海机的出现,前端需要考虑刘海机适配。而如今随着三星Galaxy Fold和华为Mate X折叠屏手机的面世,前端同学接着又要处理折叠屏幕的适配。

就我们团队而言,在上个月就接到相关的通知,需要处理折叠屏的适配。碍于真机难得,前段时间就通过模拟机,做了一些简单的适配测试,不过幸运的是,今天拿到了真机(三星Galaxy Fold) ,写了一个简单的Demo,做了一些适配的测试。特此将相关心得和大家一起共享,希望对大家有所帮助。

为了更好的做相应的适配处理,我们有必要先对设备相关的参数做一定的了解。

简单地说,三星Galaxy Fold和华为Mate X的最大区别即是 双屏内折叠对单屏外折叠

三星Galaxy Fold搭载了两块屏幕,一块位于机身外侧的一边,适合折叠状态下使用。这块外屏是一块4.6英寸1960 x 840 Dynamic AMOLED显示屏:

Galaxy Fold的另一块屏幕只有在机身被展开时才会出现。这块内屏尺寸达到了7.3英寸,比例为4.2:3,分辨率为 2152 x 1536

外屏的使用方式和现在手机一样,只不过小了些、边框宽了些。

内屏的大尺寸则能在玩游戏、看视频、看地图、拍照和视频通话等情况下提供更多的内容显示。大尺寸也让多任务处理不再是鸡肋,发布会现场展示的三任务同时处理让人印象深刻。

折叠起来后,一块大屏会变成两块分别位于机身正、反面的“小”屏。正面屏幕为 6.6英寸,分辨率为2480 x 1148,比例为19.5:9,是目前主流手机的屏幕比例。背面的屏幕则是一块 6.38 英寸 2480 x 892分辨率显示屏,比例为25:9

对于Web前端而言,我们主要关注的几个参数是 分辨率、 DPI 和 屏幕宽度*等。简单的将相关参数列入:

有关于设备相关的参数,我们可以通过相应的API来获取(这个很重要):

屏幕尺寸分辨率像素密度三者关系之间存在相应的计算关系:

比如屏幕分辨率为:1920px x 1080px,屏幕尺寸为 5英寸的话,那么对应的DPI440,即:

折叠屏给交互设计带来的差异化

不管是三星 Galaxy Fold的内折叠屏还是华为 Mate X的外折叠屏给我们最直观的效果类似于iPhone和iPad的差异:

折叠状态类似于iPhone;展开状态类似于iPad

屏幕宽窄的变化给我们的交互设计也会带来相关的变化。

对于Web设计而言,当折叠屏从小屏模式转变成大屏模式时不应该只是画面的等比例变大,而是要考虑响应式布局设计。描述响应式设计最著名的一句话就是:

“Content is like water,即如果将屏幕看作容器,那么内容就像水一样”

在以前响应式设计更多用在PC Web设计上,但现在折叠屏手机的出现,我们在移动端也应该考虑响应式设计,以下是设计时需要考虑的细节:

折叠屏幕在 “展开”态时要考虑是平板模式还是双屏幕模式,如果是平板模式,那么内容应该在一个整体里;若是双屏幕模式则可以考虑不同屏幕展示不同内容。设计时需要根据实际需求和场景进行模式选择。

如上图所示,内容在同一个整体里,只是视觉(排版)效果上有差异

上两图展示了不同的屏幕展示不同的内容

考虑通过Fragment(片段)来设计

Fragment是Android3.0提出的API,出现的初衷是为了UI更灵活地适应大屏幕的平板电脑。

采用不同的Fragment来设计,可以做到不同内容在不同的屏幕展示,甚至在同一屏中可以展示多个不同的内容。对于这样的场景,交互的方式和行为都将会有所变化。比如进入每个不同的Fragment应该是怎么样的一个交互方式;比如返回按钮,滑屏等又是怎么一个交互方式。这一切都值得我们去探讨。

比如说,很有可能将来手淘就能像下面这样,在展开状态打开多个Fragment:

参考微软的UWP设计概念

下面的内容摘自《》一文。

你可以改变 UI 元素在不同屏幕上的位置。比如下面这个例子:为了确保同时展示两个元素,在手机上我们必须采用纵向滚动界面,而在平板电脑上,我们可以调整框架的位置,变为横屏滚动界面。如果你用网格设计这些位置,你也可以不改变内容框架,但其他 UI 元素可以使用响应式设计。

这是一个图片应用的例子,内容框架在大屏幕上被改变了位置。

你可以通过调整空白和 UI 元素的尺寸来优化框架,比如下面这个例子,可以通过简单的增大内容框架尺寸来提升大屏幕的阅读体验。

通过调整 UI 元素的顺序和方向,优化内容显示效果。举个例子,在大屏上运行时,可以再添加一栏,并且加入分类列表,这些都是合理的。

这个例子展示了在手机上使用一栏纵向滚动,而在平板上使用两栏横向滚动的优化。

你可以基于屏幕的真实大小,设备支持的功能,特定的情况或者屏幕方向展示界面。

下图是一个含有相机按钮的 Tab 的例子。平板电脑和台式机可能没有摄像头,所以相机按钮不被显示出来。另一个例子是媒体播放器,小屏幕上这些按钮通常是被删减的,但在大屏幕上这些按钮是被完全保留的。PC 上的媒体播放器比手机上的有更多的功能。

这项技巧是为特定屏幕尺寸或屏幕方向切换特定的界面。下面这个例子是导航菜单:小屏幕上他是隐藏在汉堡菜单中纵向排列的,但是在大屏幕上,更大的 Tab 是更好地选择。

你可以为特定的设备优化特定的结构。下面这个例子就是两种不同的接合结构。

下图是一个智能家庭程序,运用了改变结构的技巧

折叠屏下的手淘将可能是这样的

UWP设计概念是一个非常好的一个概念。如果不久的将来,折叠屏为成为一个主流之一的话,除了UWP设计带来的设计和交互的变化之外,还会有其他更优秀,或更合理的交互设计概念吗?

或者简单地说,折叠屏时代的手淘将会是什么样的呢?

前面我们提到两个(或多个)Fragment的设计,如果将来的App中能在宽屏模式(折叠屏展开模式)启用多个Fragment时,我们的交互设计可许将会是这样的。

在2019年愚人节当日,淘宝设计 提出了。

在该文章中,作者提出折叠屏幕时代下,手淘App针对折叠屏的两大特性具体展开相应的设计。

在折叠屏中,顶部和底部导航性质的组件属于页面的公用功能,采取直观的 横向拉伸适配方式;而当中页面可以采用内容填充适配方式,将次级重要内容展示在第二屏

有可能将来在消息的第二屏内容是聊天窗口,能快速预览消息里的最新内容,提升聊天切换的效率。

在日常使用手机处理主任务时,经常会碰到临时通知消息等分支任务处理,主任务与分支任务场景的频繁切换给用户带来很高的操作成本。

折叠屏的 “第二屏” 可以让用户可以不离开当前场景即可便捷的处理子任务,提升多任务的处理效率。下面举例淘宝上的案例帮助大家体会多任务带来的种种便捷。

比如说,在折叠屏展开状态的模式下,你将可以一边看淘宝直播,还可以让宝贝列表呈现出更大更多的图片以及简要的信息帮助用户做初步的判断,边看边逛互不干扰

都说 底层建筑将决定上层设计。这一点都不假。

在PC时代,众多前端开发者都疲于奔波处理各种不同版本浏览器客户端的兼容处理;在移动端时代,原本以为将会改变这一状况,事实并非如此。

随着iPhone6,iPhone6+的出现,不仅限于处理不同屏幕的Android设备,还需要考虑杂屏时代的iOS设备。在那个时候设计和开发为了更好的适配,采用了一种适中的设计,比如手淘设计师和前端开发的适配协作基本思路是:

  • 选择一种尺寸作为设计和开发基准
  • 定义一套适配规则,自动适配剩下的两种尺寸(其实不仅这两种,你懂的)
  • 特殊适配效果给出设计效果
手淘设计师常选择iPhone6作为基准设计尺寸,交付给前端的设计尺寸是按750px * 1334px为准(高度会随着内容多少而改变)。前端开发人员通过一套适配规则自动适配到其他的尺寸。

开发人员针对该场景提供了不同的适配解决方案。比如业务较为主流的一种适配方案,通过库配合CSS的rem单位来做相应的等比缩放适配。

flexible.js方案也就手淘团队提供的一种优秀的适配解决方案。即:《》

事实上,flexible.js方案(业务常称rem适配方案)基本原理是模拟视窗单位vwvhvminvmax原理。随着视窗单位得到更多设备的支持之后,很多团队开始弃用flexible.js的适配方案,而改用vw-layout的适配方案。

vw方案(常称vw-layout方案)让我们在移动端适配变得更为容易。

vw方案如果运用于PC端或者屏幕较宽的终端设备上,会有一定的缺陷。

但这一切并没有结束。随着苹果公司(Apple)的刘海机iPhone X、iPhone XS、iPhone XR、iPhone XS Max的出现,不管是设计还是开发又要开始面对于刘海机终端的适配处理。

到目前为止,虽然安卓也有很多品牌有相应的刘海机,但面对不同的App(或者说团队),安卓刘海机不会做相应的考虑。

在刘海机中(或者说iOS11起)提出一个安全区域的概念。设计师也针对安全区域做出相应的处理:

前端开发也有相应的属性env()来做相应的适配处理。有关于刘海机的适配,请移步阅读:

而如今我们又将不得不开始着手于折叠屏的适配处理。

华为折叠屏官方适配方案建议

折叠屏在视觉效果来说就是,屏幕变大了,手机变平板了。这样就要求我们的APP在可折叠设备展开时,当前应用页面必须无缝延续到另一个屏幕,并可自动调整大小匹配新的布局,反之亦然。也就是说,应用程序需要准备好在多个屏幕(不同分辨率、密度等)之间切换。

其实Google之前有其应对的策略,在去年的 Android Dev Summit 上,Google 就已经宣布将要对折叠屏提供“Screen Continuity(屏幕连续性)”的原生系统支持,并将这项技术称之为:Foldables。利用这种柔性显示技术,App 可以做到折叠屏设备上的适配工作。

尽量保持Y轴方向上元素不变,X轴方向上自适应:

该方案较 适用于界面元素相对单一,没有大量列表类、或较多显示元素的页面

参考 iPad(平板)布局显示更多内容,对于区分了手机和iPad布局的应用,在展开态优先考虑参考iPad的大屏布局适配展开态界面,显示更多内容;尽量保证Y轴方向元素的不变:

该方案 一般适用于 WEB 类应用,页面特征一般为元素多,适配原则以尽量显示较多元素优先

对于设计过分栏能力的模块,需要在展开态体现分栏布局:

该方案 一般有明显 list 二级菜单的元素结构比较适合。

考虑到展开态 8:7.1 的比例,展开态的横屏和竖屏建议一套布局。横竖一致;不对展开态的横屏特殊处理,挪移布局不用体现。

如果仔细对比,不难发现华为官方提供的适配方案(展开状态模式)和 微软的UWP设计概念有些相似之处

两个(或多个)Fragment设计

前面也提到过,在未来,折叠屏在展开状态或许可以同时展示两个或更多个Fragment。对于这样的场景,前端或者设计都相对而言要更容易。因为多个Fragment更和我们现在的适配方式接近(未展开状态,和目前主流移动设备相似)。当然,在展开状态时,多个Fragment同时展示不同内容之时,或许每个Fragment所占屏幕的比例会有不同,针对于这种场景,我们目前采用的vw-layout适配方式,将毫无压力。

不过,同时打开两个或多个Fragment时,针对不同的场景在设计中也需要有所不同。比如说顶部Bar底部Bar采用比例拉伸,中间主内容打开多个Fragment,在不同的Fragment中显示不同的内容。

有了解过响应式设计的同学或许都知道,响应式设计在PC上的客户端得到较大范围的使用场景。对于移动端上,响应式设计的身影并不常见。但如今天,安卓折叠屏幕的出现,或许在未来的一些Web应用或Web页面中将会看到响应式设计的影子。

如果你决定在你的应用中采用响应式设计来适配折叠屏展开状态的效果,那么就有必要简单地了解一下响应式设计的几个基本原则。

响应式 vs. 自适应网页设计

很多初学都都容易把响应式设计和自适应设计混淆。事实上,它们看起来似乎是相同的,但事实并非如此。这两种方法相辅相成,并没有说哪个是正确的那个是错误的,内容决定一切。

随着屏幕尺寸变小,内容将会占据更多的垂直空间,而下方的内容就会被接着往下推,这就是所谓的流动。如果你是使用像素来进行设计的,这可能会有点棘手,但是当你习惯了之后,就会变得很有意义了。

画布大小可以是DesktopMobile或是它们之间的任何尺寸。像素密度也可能有所不同,所以我们需要灵活的、在各种屏幕上都可以使用的单位。这就是相对单位(如%vw等)派上用场的时候了。所以设置50%的宽度也就意味着它会占据屏幕(或视窗,即打开的浏览器窗口的尺寸)的一半。

在CSS的世界中,相对单位有多个,不同的场景都有其优点:

上面提到%来做适配处理并无大碍,但%的计算相对而言会较为蛋疼,庆幸的是,我们可以采用视窗单位,比如vwvhvminvmax来替代%

不管是%还是视窗单位,它们计算方式都有所不同。他们也没有好坏之分,只有适合不适合之分

vw-layout适配方案,采用的就是视窗单位。

断点是响应式设计中一个非常重要的概念。它允许布局在预定义的点改变相应的UI风格。例如:PC端浏览器布局是三列,但是在手机移动端上只展示一列。大多数CSS属性可以根据断点改变。通常你会根据具体的内容来设置断点。

这里所说的断点就是采用CSS中的媒体查询特性,但这样一来将会增加不少的代码量、开发成本和维护成本。

随着技术不断的革新,CSS的特性也越来越强大,就到目前为止,可以借助,更易于实现响应式效果。当然一些特殊的场景还是需要强度依赖断点(媒体查询)来处理。

前面提到过,在响应式设计中,最为关键的就是条件CSS中的媒体查询,即@media。媒体查询可以有条件的应用CSS规则,它告诉浏览器应该忽略或应用哪些CSS规则,而这些都取决于用户的设备终端。

在媒体特性中,大多数的媒体特性都可以带有minmax的前缀,比如说min-widthmax-width,用于表达 “最小的...” 或者 最大的...。用两张图来帮助大家来理解minmax的实际含义。

还记得相对位置吗?让很多元素的位置依赖于其它元素来定位是很难控制好的,因此使用容器来包裹元素可以让它更易理解,也更整洁。这就是静态单位(比如像素)发挥作用的时候了。对于你不想要模块化的内容(比如logo或按钮),它们是有用的。

从技术上讲,如果一个项目是从一个较小的屏幕开始,变成较大的屏幕(Mobile优先),还是反过来(Desktop优先),并没有太大的差别。然而它还是增加了额外的限制,可以帮助你决定是否从Mobile优先开始。通常大家在一开始的时候都会两端一起写,所以,还是看看哪个运行起来更好。

网页字体 vs 系统字体

希望你的网站上有很酷的字体吗?可以使用网页字体!虽然它们看起来非常棒,但是记住字体放得越多,你加载页面的时间也会越长。在另一方面,加载系统字体确是快如闪电,但当用户本地没有这套字体时,它就会返回默认的字体。

你是否想过在图标上添加很多的细节和花哨的效果?如果想过的话,使用位图比较合适。如果没有,可以考虑使用矢量图。对于位图,使用的是jpgpnggif格式的图像,而对于矢量图,最好的选择是SVG或图标字体。每个都有对应的优势和缺点。但是图片的大小也需要重视——网页上的图片必须经过优化。另一个方面,矢量图通常比较小,但是一些旧版的浏览器不支持。此外,如果它有很多曲线的话,它也可能会比位图要重。所以,慎重选择。

有关于Web中图片或图标的使用,更详细的介绍可以阅读:

上面提到的九大基本原则,虽然提出的时间早,但对于使用响应式设计来设计Web页面或Web应用都具有极好的参考。当然,时至今日或未来,我们实现响应式设计可以借用其他的一些CSS特性,会让我们变得更为简单:

借助calc()函数,vw等视窗单位,可以对font-size进行精准设置:

在不同大小窗口下实现不同的字号。

不管是华方官方提供的适配方案或是淘宝设计团队提供的折叠屏幕的设计概念还是响应式设计(或者说UPW概念),对于折叠屏幕的适配都有不同的帮助。

  • vw-layout布局可以让我们轻易地达到X轴方向自适应或者横竖屏布局一致或横竖屏布局一致
  • 响应式设计(借助媒体查询)可以让我们轻易地达到布局内容扩展或分栏布局

如果采用多个Fragment来展示内容,那么vw-layout或其他的相对单位布局都可以非常轻易的帮助我们实现折叠屏在不同状态的适配效果。

如果你只想同比例放大,那么vw-layout也将是一个最佳方案。

如果你想在折叠状态和展开状态有不同的布局风格,那么响应式设计或者UWP概念将是不错的选择。在这种场景之下,把vw-layout和媒体查询(响应式设计)结合起来,将是最佳选择。

创建新属性或提出新标准

刘海机的出现,苹果公司针对该类型设备提出了env()函数和安全区域的概念。让我们在处理刘海机适配的时候将变得更容易。

虽然env()最初只用于iOS的系统,但随着这方面的需求更多,业内同行将该函数提到W3C规范的方案中,让其成为W3C规范。根据相同的一个概念,我们是否也可以针对安卓折叠机,提供一个类似的函数或者属性。比如folding()。另外,对于移动端,我们在媒体查询中orientation: landscapeorientation: portrait来判断设备是否横竖屏。同样的原理,我们是不是也可以借助类似媒体查询这种方式来对安卓折叠屏做相似的设置呢?

我们手淘 或者说集团很多App在安卓上都采用的是UC的内核,就算无法在W3C规范中推动,我们UC内核的同学是否可以针对折叠屏提供相应的判断条件呢?期待UC同学能提供。

自接到要适配安卓折叠屏的需求时,其实我们团队在这方面的压力并不太大,因为我们采用的是vw-layout布局方案,再加上我们是Web页面(也就是大家所说的H5页面),在这方面具有天然的适配功能。只是在展开状态或许需要做一些细节化的处理。比如金币庄园:

借助媒体查询,可以轻易解决这样的细节问题。

另外为了更好的体验一下自己的想法:

vw-layoutgrid@media查询相结合,对三星折叠屏幕做相应的适配处理(华为还没有拿到真机)

于是我写了一个简单的小示例:

Demo在线效果可以。

最基本的方案是我们团队一直使用的vw-layout布局方案,再配合CSS Grid:

如果不做任何处理,我们在折叠屏两个状态下的效果如下:

如果我们想让在展开状态展示更多的内容时,或者说不同状态采用差异化的设计,那么我们可以借助媒体查询来处理。为了精准达到,先用JavaScript一些API获取设备相关参数:

借助媒体查询,我们就可以做我们想要的事情:

这个时候你看到的效果如下:

如果你稍加处理,还可以得到更不一样的布局:

借助媒体查询来实现差异的设计,对于开发而言是较为蛋疼的,会增加不少的开发成本和维护成本。而助上面的媒体查询是只针对于三星折叠屏,但随着更多折叠屏设备的出现,事情会变得越来越困难:

所以我们还是希望有一个统一性的判断属性

这个示例向大家演示的是H5在三星中的适配。对于其他的折叠屏设备,我们可以按同样的方式或原理来进行

如果你没有真机的话,在调试折叠屏的时候可以采用模拟机:

可以运行相应的模拟机,比如华为Mate X模拟机:

如果你是使用Chrome进行调试,你还可以创建相应的模拟机。比如三星的UserAgent信息如下:

这样就可以创建折叠和展开的两种状态:

这样就可以直接在Chrome中调试了:

对于其他折叠屏设备,如果你有相关的参数,也可以按上面类似的方式进行设备。

还是那句话,底层建筑永远决定上层设计!不管时代怎么变化,做为技术人员都应该不断的去探索,寻找相应或最佳的解决方案。

在这篇文章中,虽然我们以折叠屏为主线进行展开介绍,但全文除了折叠给我们带来的变化之外,还介绍了响应式设计、rem适配、vw-layout适配以及刘海机适配等方案。

事实上,这也是一篇有关于移动端适配大全或指南。

最后希望该文对大家有所帮助。


本文为云栖社区原创内容,未经允许不得转载。

我要回帖

更多关于 手机屏幕损坏如何导出数据 的文章

 

随机推荐