而日本网站呢,在应用中有很多方式去组织导航

作者:新美高梅

做靠谱交互动画的 5 种方法

2015/04/19 · HTML5 · 交互动画

本文由 伯乐在线 - Abel 翻译,黄利民 校稿。未经许可,禁止转载!
英文出处:24ways.org。欢迎加入翻译组。

从我在这个网站上开始写《Flashless Animation》这篇文章到现在已经两年了。从那时起,交互动画已经从像圆润的APP一样的用户界面到交互式杂志在网站上流行。对网页交互动画师、交互开发人员、用户体验师、用户界面设计人员和许多其它与交互动画有关的人员来说,这是一个多么令人兴奋的时间。

但是匆忙的设计交互动画,似乎表示我们很少讨论是否必须要使用交互动画,而是更多地讨论我们用交互动画能干什么?我们花费很多时间为怎么以 60fps 使所有东西可以动画而着急,而不是设计一些方法让初级用户避免障碍。

我喜爱网页动画,并以它为生。我知道动画能被滥用,而且我们都拿flash-trubation来娱乐。但是在网页设计期间积累的教训,我们忘记它是如此的快啊。视差滚动效应也许是对这原因产生的大概介绍。在Flash和网页动画API这一令人深思的时期,我们确实学到了很多。

所以这里的五点建议,我们可以用于把处于交互动画滥用边缘的使用者拉回到高水平上。有这几点建议在心中,我们可以让2015的网页动画年真正地属于它自己。

有目的性的使用动画

很遗憾,大量的Web开发社区认为动画是装饰性的。UI设计师和交互开发人员当然理解的更到位。但是当我给一个工作室培训交互动画的时候,我知道我的学生是在和一些决策者做艰苦的斗争,这些决策者认为有动画会非常美妙并要求尽可能的在项目的结尾附上动画,而我的学生则认为不然。

这种观念差异很难动摇,但是当我们精心做动画的时候这种观念差异也许就会消失。附加动画带来的危害比益处要多,这点很少被用户考虑。例如,用户也许会抱怨动画太快或者太慢,或者他们不知道动画在展示什么。

当我今年参加 Chrome 开发峰会的时候,我有和 Roma Shah 交流的机会,她是 Polymer Material Design 背后的 UX 主管。我问她有什么建议给在设计当中使用动画和转场的设计师。她简单的回答:有目的地使用动画。如果你不能慢下来想想如何做交互动画并代表用户做一个充分知情和精心制作的决定,那么你最好不要做这个尝试。动画需要花费精力来制作,而一个差劲的动画比没有更糟糕。

不止《生活的错觉》这把书中提到的动画 12 条准则

我们总是试着在激发我们兴趣却毫不相干的事情之间找到相关性。最近越来越多的人把《生活的错觉》放在挨着《理解漫画》这本书的同一个书架上。这些书给我们带来很多来自其它领域的有用的观点。然而,我们不应该在网站上犯类似与漫画书与动画片的错误。虽然它们可以帮助我们用新的角度理解我们的工作,但是这些概念会或多或少产生上述混淆两者概念的作用。

我一直在慎重地思考《生活的错觉》,迪士尼动画工作室的经验丰富的工程师们在书中提出了动画十二条准则。这些规则对做动人的、逼真的动画非常有用,如像弹起的球、蹦跳的松鼠、绚丽的物理极光一样的页面转场动画。但是什么时候或者怎样把一个动画作为一个大型交互体验的一部分,这些准则没有对这些问题做方向性的指导。比如一个下拉操作需要多久才能伸展完毕,或者一组可操作对象是应该按照顺序,还是按照整体做成动画。

这十二条准则仅仅是一个开始地方,除此之外我们还有其它很多东西要学习。我已经写过至少六条应用到web和app的设计交互动画功能。当我们思考做交互动画时,我们不仅仅考虑做什么动画、动画的物理学,还要考虑为什么要做动画,怎样做动画。如果动画是多余的或者令人费解的,再严密的物理设计也是徒劳的。

有用、有必要,然后是漂亮

有一句行内话:除非一个动画既是必须又是有用的,要不然不要做它;如果它既是必须的,又是有用的,那就毫不犹豫去把它做漂亮。当说到动画和网页,目前很少有文章写什么样的动画是有用或者必要的。我们大部分都是倾向于做漂亮、令人愉快、令人有趣的动画。虽然动画的外观漂亮很重要,但是外观是仅次于用户的整体体验的。

第一次我在掌机看到黄色口袋妖怪的开机动画时,我被迷住了。到了第六次的时候,当Freak的游戏图标出现在屏幕上时,我被开始按钮搞的厌烦了。当我们在做设计的时候,令我们高兴和有意义的东西对用户来说却是未必的。像黄色口袋妖怪令人欣喜的开机动画一样,纯粹令人愉快的动画即使是被用户欣然的接受,但是太多次的重复却最终无意义的动画,用户就会慢慢对该动画产生厌恶之情。

如果一个动画不能在某种方式上帮助用户,如让用户知道他们在网站的什么位置或者一个页面上的两个元素是如何彼此相关的,那么它是在耗费电池并在不停地产生仅仅令用户高兴的效果。资源很少得到合理的利用。

动画不是仅仅为了令用户高兴,首先,我们必须能让动画给用户清晰的表达两个意思。以从 Finethought.com 网站上这个菜单图标为例。当我们点击这个菜单图标时,它向我们表达了两个意思。

1.这个菜单按钮用动画给用户以反馈,表面这个图标已经被点击了。

2.这个菜单按钮表明通过点击关闭图标,页面的内容将会发生改变。

假定我们有两个好的理由来做交互动画,那么就会有理由来取悦用户。

以四倍速度让动画更快

有一个传统动画的概览法适合于网页动画:不管你的动画应该持续多久,把动画的持续时间减半,然后再减半。当我们设计动画几个小时之后,我们对时间的感觉会变长。对我们来说速度很快的动画,对大部分用户来讲已经到了无法忍受的慢。事实上,最近来自于用户对网站动画接口的绝大数批评似乎是:“它太慢了。”一个好的动画是不唐突的并且速度是非常快的。

如果让你的动画持续时间处于一个最佳值,那么请把动画持续时间减少到原来的四分之一。

安装一个关闭开关

不管一个动画是多么的富有见解和必要性,总有一些人对动画不感冒。对这些人来说,我们必须增加一种方式来让他们关闭网页上的动画。

幸运的是,网页设计师已经在考虑赋予用户一些自己做决定来改变网页体验的权力。以下面的动画为例,这个《小鱼商店》的动画电影网站允许用户关闭视差效果。虽然它不能移除全部动画,但是这个网站确实减少了动画的视觉给用户带来的头晕的感觉。

在我们网页设计的工具库中,动画是一个强有力的工具。但是我们必须小心:如果我们滥用动画,动画也许会带来不好的效果;如果我们低估动画,它就不能完全发挥它的作用。但是如果我们恰到好处的使用动画,当既有必要又有用的使用动画,赋予用户关闭的动画的权力,那么动画会变成一个帮助我们建造一些用起来简单、带给我们快乐的东西。

让我们把2015的网页动画年带给用户吧!

赞 收藏 评论

原文:How We Developed ColorMatchTabs Animation for iOS

韩文、中文和日文文字外形相似,所以国内的网站除了中国风之外,还能借鉴日韩的风格。韩国网站我想大家也见过不少,他们特别喜欢使用Flash来制作,效果超弦(Why? 因为他们网速比我们快7、8倍…)。而日本网站呢,他们用Flash?响应式?还是扁平化设计呢?

关于作者:Abel

美狮美高梅官方网站 1

简介还没来得及写 :) 个人主页 · 我的文章 · 10

美狮美高梅官方网站 2

在应用中有很多方式去组织导航栏:tab barsside menusTinder-like swipes ,然而,大多数现有的解决方案都有一个问题,对于大屏幕手机是很不方便的,用户必须通过去不断地点击图标来切换屏幕。

接下来设计达人网小编为大家精选一组优秀的日本酷站,在收集日本网站的同时也让小编惊叹了,日本的网站设计以及使用的Web技术相当不错,本以为日本的工业设计好,想不到网站设计水平也相当高。

美狮美高梅官方网站,我们决定分享我们创建用户界面动画的概念,解决了在大屏幕上的应用程序导航的问题。

日本网页设计:很多已经使用新的网页设计趋势,如视差滚动、全屏背景、全屏视频等等,很少使用Flash,特别注重网页的配色、版式和交互设计,整体网页布局新颖,不少网站使用了可爱的漫画式手绘风格。

美狮美高梅官方网站 3

Web前端技术方面:已有部分网站开始HTML5、CSS3技术,虽然使用这些新技术,但在IE8兼容方面还是做得很好的,有的不兼容IE8的会做一个浏览器兼容提示。

content_review-app-concept.gif

下面一起来欣赏这些优秀的日本网页设计作品,希望对你的新项目带来灵感吧,Enjoy!

[ ColorMatchTab 动画,在 DribbbleGithub 可以查看]

hanamichiya

ColorMatchTab动画有什么用?

开发这个动画是为了说明一个概念在我们开发的一款评论应用,这个应用将显示用户周围的有趣的地方,也可以他们留下评论和阅读其他人留下的评论。动画显示了四种不同的类别:产品地点评论朋友,就像四个不同的屏幕。

我们在 Relativewave 完成了这个动画的原型,Relativewave 是一个非常好的制作原型的工具。

ColorMatchTab 动画我们为了区分不同的类型的 tab bar 采用了彩色的图标。为了避免混乱,每个图标,以及每个颜色,都是唯一的一个特定类别。当 tab bar 的其中一栏变成活跃,一个填充着相应的颜色,并且出现相应的分类标题的圆角矩形使它非常突出,这样非常清楚哪些tab bar是当前活跃的。

用户所看到屏幕是整体的一部分,通过应用引导用户进一步了解每个屏幕。Call-to-action 按钮很容易发现,并帮助用户用自己的方式了解应用。

我们使用了 FAB(浮动操作按钮)来创建一个 Call-to-action ,是很难不被注意到的。容易实现在屏幕底部中间部分创建这个按钮,特别是对更大屏幕的设备。

当我们的设计师创造了这个概念后,我们的任务给动画带来生命力。

正如你可以看到下面,我们开发了几个动画组件:一个底部栏,一个顶部栏,有内容的页面,和屏幕的转场。每一个组件都有开发难点。

很漂亮的水彩背景,网站的右侧菜单效果很赞!看来很多日本设计师的手绘功底都很厉害啊!各位小伙伴,你懂手绘了吗?

底部按钮

为了实现这个底部按钮我们调整每个元素,使它们从圆心等距。开发人员可以根据他们的需要改变圆的半径,从而在圆的周围调整元素的位置。您还可以调整尺寸大小和动画持续时间,并选择您喜欢任何图像作为图标。

美狮美高梅官方网站 4

content_reviews.png

美狮美高梅官方网站 5

顶部栏

一年前,苹果宣布了一项新的UI组件称为 UIStackViewWWDC sessionApple’s documentation )。 UIStackView 允许你创建多个没有任何约束的成员视图。你只设置分配模式和它怎样工作。在内部机制下,它会自动布局。但这对你来说意味着什么呢?这意味着你不必添加约束,在你需要的的时候你可以这样做。如果视图是隐藏的 UIStackView 也会自动调整约束。

这个实现非常简单 - 我们会展示在 UIStackView 下的各种各样的 UIViews

您可能注意到顶部菜单是导航栏的一部分,有几种方法来实现一个自定义导航栏。苹果有一个很好的示例项目,显示如何创建自定义的导航栏(特别是扩展和自定义导航栏)。我们决定使用一个扩展的导航栏,但您可以选择一个自定义的导航栏来提供更多的原生行为。

浏览网站

页面内容

页面是通过 UIScrollView 构建的,并且包含视图控制器在里面。

通过检测当前索引的内容偏移量,当一个视图超过50%出现在屏幕上。这个索引值将会发生变化,然后我们观察到当前的内容偏移量来检测变化。

当我们从第一个到第四个 tab bar 切换的时候,为了避免屏幕闪烁,我们先隐藏在屏幕的所有内容,然后在切换后再次显示所有内容。这是 ColorMatchTabs 动画的一部分。我们没有使用 UIPageViewController ,这是一个明智的选择,因为它实现起来达不到同样的流畅性能。

我们也不需要重复使用视图控制器,因为 tab bar 预计不会有超过五个(就像 UITabBarController )。这个类的这个接口也类似于 tab bar 控制器,你所需要做的就是设置一个视图控制器的数组

美狮美高梅官方网站 6

content_menu.png

dascorp

转场

用户按下底部按钮(粉红色按钮),屏幕之间切换时都需要通过转场。

新的视图出现从底部的按钮的中心,逐渐扩大,直到它取代以前的视图。我们实现通过 CircleTransition 类来实现转场动画,并且实现相应的 UIViewControllerAnimatedTransitioning 协议方法。

这个只显示圆内视图,隐藏圆外视图的圆,是通过 CALayermask 属性实现的,这表明圈内的一切隐藏一切超越它。要达到这种效果我们使用 UIBezierPath 两实例化两个圆圈,一个小尺寸和一个足以覆盖整个屏幕大的圆。我们还创建了一个新的 CAShapeLayer 暂时的圆遮盖,最后的动画发生在这两个轨迹之间。

控制器使用的动画遵循 UIViewControllerAnimatedTransitioningDelegate 协议。接受该协议控制器,我们要显示或隐藏,并要求我们返回一个接受 UIViewControllerAnimatedTransition 协议的对象。

这个转场具有以下属性:

  • 起点处— 动画这一点是在按钮的中心,也是动画在屏幕上消失的一个点
  • 持续时间— 持续多长时间
  • 模式— 一个可能的动画模式列表(隐藏和显示)

该网页使用了响应式设计,基本兼容IE8,当用户向下滚动网页设计,内容会渐变显示出来。

Dropping items

Dropping items 可能是 ColorMatchTab 动画最有趣的部分。我们需要能够将图标从动画的一个元素移动到另一个元素。要做到这一决定,我们决定使用临时图标。一旦临时图标到达他们的目标在屏幕上,在当前的动画组件中隐藏它们,并显示真正的图标。

为了确保这些图标正确显示在不同的屏幕尺寸上,我们必须做以下几方面:

  • 显示 tab bar 顶部的临时图标
  • 隐藏 tab bar 的图标
  • 在主屏幕上临时图标的转场动画
  • 在模式视图控制器上显示临时图标
  • 在模式视图控制器上临时图标的转场动画
  • 在模式视图控制器上隐藏临时图标

美狮美高梅官方网站 7

菜单控制器

如果你想完全利用屏幕上所有的动画显示,你必须为 MenuViewController 设置数据源。该数据源允许您自定义视图控制器、标题、颜色、图标:

public protocol ColorMatchTabsViewControllerDataSource: class {

func numberOfItems(inController controller: ColorMatchTabsViewController) -> Int
func tabsViewController(controller: ColorMatchTabsViewController, viewControllerAt index: Int) -> UIViewController
func tabsViewController(controller: ColorMatchTabsViewController, titleAt index: Int) -> String
func tabsViewController(controller: ColorMatchTabsViewController, iconAt index: Int) -> UIImage
func tabsViewController(controller: ColorMatchTabsViewController, hightlightedIconAt index: Int) -> UIImage
func tabsViewController(controller: ColorMatchTabsViewController, tintColorAt index: Int) -> UIColor

}

我们也提供了一个示例应用程序,所以你可以打开它,运行和学习如何将它使用在您的应用中。

浏览网站

总结

我们希望我们实现的这个 tab bar 是对你有用的,尤其是看到它在屏幕之间非常流畅的滑动。我们将组件分成几个部分描述,以便你可以将它作为单独的项目或作为一个整体来使用。

如果你在你的 Apps 中使用我们的解决方案,我们将很高兴。我们喜欢分享我们的经验,并总是高兴地讨论我们的工作。如果你决定在你的应用中使用我们的部件,不要犹豫与我们联系,我们将您添加到 'Readme' 中。如果你碰巧发现我们的部件有问题,在GitHub库创建一个问题,我们会很乐意帮助你!

ColorMatchTab 动画,在 DribbbleGithub 可以查看。

mitsugashi

设计简约的糕点食品网站,但这种简约在国内很容易飞稿机。

美狮美高梅官方网站 8

浏览网站

regettacanoe

明快的蓝色与黄色的时尚配色,很符合网站主题。左上角菜单蓝色的曲线好像和鞋跟一样,这是令人印象深刻的设计。

美狮美高梅官方网站 9

浏览网站

ca4la

很独特的小型电子商务网站,浏览时注意看哪些动画,好玩之余更有意义。

美狮美高梅官方网站 10

浏览网站

hotakubo-seikei

一所医院网站,网站整体页面设计得很精美,就连图片质量也很注重,这医院看起来很高档次啊。

医院类网站在国内肯定不会这么做了,都会做成门户式,做内容,搞SEO,什么内容都有…… 不过大家可以参考他的设计,相当不错。

美狮美高梅官方网站 11

浏览网站

hishiken

漂亮的图像+视差特效,很美的网页啊。

美狮美高梅官方网站 12

浏览网站

本文由美狮美高梅官方网站发布,转载请注明来源

关键词: