童话说说技术创业美文职业
投稿投诉
职业母婴
职场个人
历史治疗
笔记技能
美文纠纷
幽默家庭
范文作文
乐趣解密
创业案例
社会工作
新闻家居
心理安全
技术八卦
仲裁思考
生活时事
运势奇闻
说说企业
魅力社交
安好健康
传统笑话
童话初中
男女饮食
周易阅读
爱好两性

了解图标规范,用Lottie动画让图标落地

3月23日 多上心投稿
  图标是标签栏中的关键元素,本篇文章中,作者从主流的图表样式出发,结合相关案例总结了图标制作的相关规范和落地的方法,供大家一同参考和学习。
  如期而至,这是标签栏控件总结的第二期。这一期我们来聊一聊标签栏中的关键元素图标。在此之前,如果你还没有了解标签栏的平台规范,可以回顾:《没弄懂标签栏之前,先不谈用户体验》。
  图标其实存在于界面中的许多地方,但因为这一期主要分析标签栏,所以我会借标签栏中较主流的图标样式,总结一套图标制作与落地方法。这些方法在图标制作过程中都是相通的,大家可以举一反三。
  一、标签栏图标规范
  1。1图标样式
  图标具体样式风格的定义是非常主观的,网络上也流传着许多的教程教大家如何设计五花八门的图标,所以在这里我就不再赘述了。我主要来总结一下基础的标签栏图标一般有哪些样式变化。
  我调研了诸多的应用程序,发现主流的APP标签栏样式变化,大致分为以下五种。其中最占比最多的是“由线型转面型”。
  调研的应用程序中,所有使用到线性图标的应用程序,都将描边粗细限制在1pt2pt之间。
  1。2图标视觉大小
  上一期我们讲到,iOS定义了一套标签栏图标的尺寸规范。
  iOS在这里所定义的尺寸并不是图标文件最后输出的尺寸,而是给设计师作图时,针对不同图标形状的参考尺寸,目的是为了让图标的视觉大小看上去一致。
  那么为什么iOS会根据不同的图标形状给出不同的图标尺寸呢?因为50px50px的正方形比50px50px的圆形面积更大,所以正方形的视觉大小也会大于圆形。为了统一图标的视觉大小,正方形要做适当的面积收缩处理。(矩形同理)
  于是我们看到许多平台都推出了图标辅助网格规范。其实如果遵从“面积相等”原理,理论上所有的图标网格都应该由下面这一套推理公式得出(以MaterialDesign标准图标网格为例):
  但实际情况是,不同平台的图标辅助网格规范建议尺寸都有一定的差异。原因就在于,虽然有时候我们参考“面积相等”原则对图标视觉尺寸进行了规范,但项目落地后发现视觉上可能还是有一些不协调,所以最终设计师还是会凭借自己的主观判断再进行微调。
  记住:好的设计作品是理性的设计理论与设计师本身感性的碰撞结果,二者缺一不可。
  1。3图标输出尺寸
  iOS规定标签栏图标的输出尺寸统一为31pt28MaterialDesign规定标签栏图标的输出尺寸统一为24dp24dp。
  但我们发现,在借助了图标网格解决了图标视觉大小的问题之后,每一个不同形状的图标,尺寸其实是不同的。为了方便前端落地,我们在输出切图文件时,要保持每一个图标文件的输出尺寸是相同的。该怎么办呢?
  于是我们将一组图标都放置在一个比图标本身略大的相同尺寸容器中。而图标与这个容器之间的空白像素,正好也帮助我们规避了图标落地后,切图边缘像素可能被截断的现象发生,所以我们称这个区域为“安全边距”。
  对于安全边距的规定:MaterialDesign全平台规定图标的安全间距统一2iOS则根据不同的图标使用场景给出的不同的图标网格和图标安全间距。
  二、静态图标
  标签栏的图标一般分为静态图标和动态图标两种。
  静态图标的实现方法相对容易,可以与前端沟通确定本次项目交付的标签栏图标文件是采用位图还是矢量图。如果是位图建议交付。png格式文件;如果是矢量图建议交付。svg格式文件。
  2。1位图图标
  使用位图时请注意以下两点:
  1)不同项目环境输出的切图套数不同
  交付iOS原生的标签栏图标切图需要1x2x3x三种倍率的切图文件;
  交付Android原生的标签栏图标切图需要1。5x2x3x4x四种倍率的切图文件(0。75x和1x切图层分别用于ldpi和mdpi分辨率设备,但这些设备现在几乎已退出市场,所以可不考虑,但最终视项目真实需求确定。);
  交付web项目的切图需要试情况而定,一般常用2x切图,因为2x向下适配1x、向上适配3x,都不会产生太大的图片失真。但有时候前端小哥会要求用到其他倍率切图,所以最终以具体需求而定。
  请注意:这里我所提到的倍率全都是“绝对倍率”,这个概念非常关键。
  “绝对倍率”指的是:以上所有的倍率都是针对1x设计稿下的输出倍率尺寸。而当你使用2x作图时,为了保证“绝对倍率”不变,你的切图输出倍率就应该设置为0。5x1x1。5x。
  如果你在2x下作图,却依然保持输出1x2x3x的切图,那你输出的文件尺寸最终其实是2x4x6x。
  有一点绕的话,我们以Sketch导出位图切图为例:
  所以如果你日常使用的是Sketch,也是用Sketch原生导出工具,那你的切图预设应该根据你的作图尺寸而定,见下表:
  如果你日常使用的是PS,用Cutterman切图,那么Cutterman会自动识别你当前的画板,然后根据它的宽(横屏情况下是高)来设定它的基准分辨率。那么你在任何情况下输出1x2x3x的切图,其实都是“绝对倍率”,不用像Sketch当中一样换算。前提是“设置当前画布为:Auto(自动识别)”。
  假设你在2x下作图,执意不管不顾“绝对倍率”,又忘了交代前端人员手动处理切图尺寸的话,那你所有的切图尺寸实际都是设计稿所需图标尺寸的2倍。就算前端小哥帮你手动处理了切图尺寸,每一张切图所包含的像素信息,都比项目真实所需的要多很多,完全就是在徒增所需切图文件的大小。
  2)注意切图文件大小
  切记,公司的线上项目中,用户从服务器下载的每一单位的流量都是要公司花钱的,所以许多项目管理者都是很在意控制线上文件大小的。于是压缩切图是UI必备的技能之一。
  虽然图标的文件大小一般只有几KB,但是项目大了难免积少成多,所以在真实项目中,不管任何切图我都会手动压缩一次。
  这里推荐一个压缩。png文件大小,但几乎不会产生失真的免费网站:tinypng。
  2。2矢量图
  位图切图会面临交付的倍率图过多、容易失真、文件大小难控制等问题,但对于矢量图,这些问题都得到了解决。目前。svg矢量图落地也在项目中越来越流行了。UI可以在Sketch或Ai中制作。
  一般与前端人员对接有在线图标库对接与本地文件对接两种。
  在线矢量图标库有很多,国内比较流行的是阿里巴巴矢量图标库本地对接就是直接将文件发送给前端人员,他们会自行进行项目文件的管理与调用。
  如果。svg切图输出后,与设计稿中样式不符,请注意排查以下三点:
  svg不支持渐变颜色填充;
  svg不支持描边,请将所有的描边轮廓化。Sketch中可通过“图层轮廓化”(快捷键O);Ai中可通过“对象路径轮廓化描边”;
  要确保一组图标的文件尺寸一致,需在图标下方增加一个透明方形,和图标一同导出。
  三、动态图标
  为了提升用户体验和产品趣味性,动效微交互的标签栏图标也越来越流行了。
  动效在前端落地的方法其实有很多:
  前端代码直接实现:代码是很强大的,但通常用代码直接写复杂动效会很浪费项目时间。简单维度的动效如位移、透明度、大小变化等可以借助代码,但复杂动效就不要去打扰前端小哥了;
  直接刚gif:这已经是老旧技术时代的动画解决方案了,文件大且请求文件也需要时间,有时候无法给用户及时的触控反馈。再者它是位图的原因,在高分辨率屏幕上缩放容易失真。
  png序列帧:我们知道,动画是一张一张的静态图交替变化形成的。如果将每一帧动画都拆分成一张图片,就有了png序列帧。所以一套动画的png序列帧往往非常多,文件大小自然就变大了。所以后来也有团队引进了雪碧图的方式,但文件大小依然不乐观。并且同样是位图的原因,高分辨率屏幕容易失真。
  FacebookPopReboundKeyframes:FacebookPopRebound是Facebook给iOS和Android提供的常用动画预设,是较早将动效代码化的开源技术方案,但动画效果预设只有弹簧衰减等一些简单样式。后来Facebook又推出了Keyframes,允许设计师自己在Ae中自定义动画并导出,然后交付给前端人员。
  Lottie动画:和FacebookKeyframes相同,都是结合Ae输出动画代码。但是Lottie更厉害的地方在于,它比起FacebookKeyframes来支持的Ae样式更多,例如蒙版、遮罩、修剪路径等等。
  所以综上所述,落地标签栏动态图标,目前最高效可行的还是Lottie动画。
  3。1Lottie的背景
  Lottie是Airbnb开源的一个跨平台动画库。表现层面它是一张图片,但实现的方式是通过代码,所以它是矢量的。很花式的动画也可以把文件大小做到非常小。
  UI与前端对接是通过交付一个json代码文件。
  如果这是你第一次接触Lottie,再好不过的体验方法就是玩一玩阿里提供的一站式动画平台:犸良动画。它最底层采用的技术就是Lottie,只是被阿里二次封装了许多预设的动画效果,你可以自定义其中的元素与参数,然后试着导出你的第一个json文件
  3。2Lottie如何上手
  接下来是简单粗暴的UI与前端对接实现Lottie动画落地的全步骤参考。在此之前,想要全方位了解Lottie的相关信息,请参阅Lottie官方说明文档。
  步骤一:安装Ae和bodymovin
  制作Lottie动画,首先你必需两个工具:Ae和bodymovin插件。
  Ae最低版本要求为AeCC2014。又因为据很多设计师反馈,目前bodymovin在汉化后的Ae中使用会出现诸多问题,所以后面的教程都是基于Ae英文版。如果你汉化了Ae,最好在需要制作Lottie动画时取消汉化。
  然后获取bodymovin。bodymovin插件更新至今,版本已非常多,并不一定最新版就适用于你当前的项目,因为前端使用的bodymovin解析包可能无法解析你用最新版bodymovin插件输出的json文件。
  一旦确定使用Lottie,前端人员会在GitHub查询Lottie相关文档的,所以UI只需要配合前端确定一下合适的bodymovin插件版本就可以了。最终走查时,一定要确保当前bodymovin输出的动画在项目所需要运行的所有环境中可运行,才说明UI使用的bodymovin插件和前端使用的bodymovin解析包版本是兼容的。
  获取了bodymovin后,将bodymovin拖入到ZXPInstaller中,ZXPInstaller会自动识别插件安装到Ae。
  安装完成后,就可以在AE的“窗口扩展”中看到bodymovin啦
  步骤二:将Sketch或Ai中的文件导入Ae
  如果你技术娴熟,当然也可以直接在Ae中绘制图案动画。但如果你还是习惯先在其他软件中绘制好基础图案,再到Ae中制作动画,那你需要了解如何将图案导入Ae。
  Ai和Ae都是Adobe旗下的工具,所以Ae是可以完美解析。ai文件的,如果你是使用Ai作图,可直接存储为。ai文件,再在Ae中打开。
  如果你使用的是Sketch,可以先导出为。svg,再用Ai打开该。svg文件,转换存储格式为。ai,最后到Ae中打开。
  当然,Sketch还有直接和Ae对接的插件,AEUX(前身Sketch2AE)。需要在Sketch和Ae中同时安装AEUX插件,Sketch负责传送,Ae负责接收。具体的使用方法可以在官网教程中查看,我就不再赘述了。
  步骤三:制作动效并输出
  和静态图标同理,为了保证落地时图标视觉大小一致,一组动效图标输出的文件尺寸应该是相同的。所以在你制作动画之前需要确定合成文件的尺寸。Lottie官方建议:因为Lottie输出的是矢量动画,所以建议以1x输出动效,前端人员在任何屏幕上放大并不会失真。
  在制作之前请务必详细阅读Lottie所支持的Ae参数文档,以免辛苦做出的动效,前端无法解析。特别提醒:原生环境中bodymovin是不支持解析Ae表达式的。
  完成制作动效后,就可以通过bodymovin导出动效了。
  步骤四:预览与交付
  导出完成后在你的目的地文件夹中将存在一个。json文档,如果你的动效中还使用了位图,系统还会自动生成一个images文件夹。这些都是你需要交付给与你对接的前端开发人员的文件。
  。json文件中记录的动效代码UI不需要过多关心,但是其中两个信息你是一定要了解的。它们是你与前端对接沟通和获悉文件信息的一些关键参数。
  UI自检动效或其他相关人员需要预览动效的时候,可以用LottieFiles,拖入。json文件即可预览。iOS和Android还可以下载LottieFilesAPP,扫描预览页中的二维码即可在移动端预览。
  四、最后
  整个制作图标的流程我已经全部整理出来了。首先要注意图标的规范,然后制作位图、矢量、动效图标时的注意点,我几乎把我在真实项目中踩过的坑都告诉大家了。剩下的创造性的环节就交给你了!
投诉 评论 转载

都到2020年了,你到底懂不懂“场景”?“场景”是互联网人或者说是产品汪和程序猿最爱说的词儿,也是在互联网公司最常听见的词儿。用户需求离不开场景,产品使用离不开场景,公司业务更是离不开场景。既然场景如此重要,那么你真……设计沉思录水晶球素材共享中心从0到1文章主要跟大家分享了设计效率平台“水晶球”的设计过程,以及梳理了主要功能的设计思路,与大家分享01前言水晶球是由设计部门发起的设计效率平台,致力于提升团队效率,助力……奈飞设计理念:借助心理学完善用户体验成立于1997年的奈飞公司,主要以在线付费订阅模式提供视频影像放送服务。2019年,在全球上市互联网公司30强榜单之中,奈飞排名第6。这个占据全球网站流量15的公司,在用户体验……大话PM产品设计,如何搞定业务异常?本文作者从自己的实际工作出发,结合案例对业务异常的情况、预防方案和解决方案进行了梳理分析和总结,供大家一同学习和参考。由于疫情影响,在延长的假期中抽空回顾了近一年多来的产……拆解SAAS系统的底层架构设计作者对SaaS系统的底层架构的设计进行了拆解并梳理了需求逻辑,供大家一同参考和学习。SaaS系统在建设过程中,因面向的用户群体业务灵活性变化,许多同仁在做系统时,基于公司……从数据产品经理视角,聊聊科学的ABTest随着ab测试在互联网行业用户增长方面的推广,各家都搭建了自己的ab测试平台(不限于BAT)或者购买了ab测试服务。今天就来看下AB测试的前世今生,能为企业解决什么问题,如何标准……流量方请求广告的2个技术在互联网广告领域,流量方(publisher)追求的是广告收益最大化,如何请求广告对于收益也是很重要的一部分,本篇文章主要梳理分析了流量方请求广告的两个技术:waterfall……微信读书为什么要做替身书架呢?微信读书是一款基于微信社交关系,主打社交的阅读类App。它的目标用户是以学生、白领为代表。那么,微信读书为什么要做替身书架呢?微信读书IOS在前段时间更新了版本4。2。0……APP应用推送需求文档消息推送功能,作为APP运营中一个免费管道,对消息推送的合理运用能有效促进业务运营目标的实现。那么,App推送的需求文档中要包含哪些内容呢?一、需要对产品功能做一个总体的……用户故事:如何在敏捷开发中助力产品需求策划?产品经理的日常主要工作就是与需求打交道,如何能够快速准确地洞察用户或客户的需求,让功能直击用户痛点是很多产品经理的愿望。而笔者就发现,利用用户故事,可以有效帮助产品经理解决产品……了解图标规范,用Lottie动画让图标落地图标是标签栏中的关键元素,本篇文章中,作者从主流的图表样式出发,结合相关案例总结了图标制作的相关规范和落地的方法,供大家一同参考和学习。如期而至,这是标签栏控件总结的第二……数据中台不是技术平台,没有标准架构!数据中台主要是通过复用数据资产来驱动前线业务的高速创新和改造,如果要是给数据中台下个定义的话,从企业管理层面来看,数据中台是个组织。一、数据中台起初是个企业管理概念……
设计体系的目标、价值及构成原理SaaS系统用户权限设计Tmall天猫APP新版设计,给我们带来了哪些设计启示电商后台:运营绩效系统总结大数据不仅属于大角色:智能推荐时代的C类电商宝宝知道表情包设计的背后故事:做用户最好的陪伴生物特征与生物电在人机交互中的运用设计备忘录:增强现实(AR)一款医疗产品的诞生机器学习43条军规:解密谷歌机器学习工程最佳实践(上)设计总结:图表设计二三事眼皮底下溜走的用户体验:浅谈产品设计可用性原则
2015新年心愿留离追寻童年的回忆物流客服工作职责物流客服岗位描述相机快门优先模式运用讲解沙窝萝卜是沙子里的萝卜吗?沙窝萝卜产地是哪儿店铺运营如何平衡点击和转化这个点职场攻略谈薪酬时如何开价大众首席执行官迪斯表示大众将与特斯拉在电动汽车展开激烈竞争热 一方怎么去起诉离婚手续是怎样的?结婚7年未生育,婆婆让我做试管近10次未成功,不能工作咋办?心中的党云歌咏比赛即将开启,万元大奖等你赢取大师在面壁

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找作文动态热点娱乐育儿情感教程科技体育养生教案探索美文旅游财经日志励志范文论文时尚保健游戏护肤业界