Android Material Design尝鲜

  • SlidingUpListViewActivity // 32

  • SlidingUpRecyclerViewActivity // 33

  • SlidingUpScrollViewActivity // 34

  • SlidingUpWebViewActivity // 35

  • StickyHeaderListViewActivity // 36

  • StickyHeaderRecyclerViewActivity // 37

  • StickyHeaderScrollViewActivity // 38

  • StickyHeaderWebViewActivity // 39

  • ToolbarControlGridViewActivity // 40

  • ToolbarControlListViewActivity // 41

  • ToolbarControlRecyclerViewActivity // 42

  • ToolbarControlScrollViewActivity // 43

  • ToolbarControlWebViewActivity // 44

  • ViewPagerTab2Activity // 45

  • ViewPagerTabActivity // 46

  • ViewPagerTabFragmentActivity // 47

  • ViewPagerTabListViewActivity // 48

  • ViewPagerTabScrollViewActivity // 49

以下是部分效果图:

我不是代码的生产者,我只是Copylefter的搬运工。: )

GitHub源下载地址:

Observable Scroll View


Material Design 动画交互文档


一、Material Design动画交互

谷歌上一代设计语言是卡片设计,而这一代作为卡片的延伸,Material Design 以纸片与墨水作为灵感,由纸片与墨水组成的设计隐喻贯穿整个material design 的所有细节,动画设计也不例外。具体体现在哪?客官不急,听我一一道来:

首先,动画设计的出发点,我歌认为每个动画效果应该都是要有意义的。动效的重要性可以简单的体现在这个三个方面:

  • 1.动效可以有效的暗示引导用户操作。

  • 2.动效的目的是为了吸引用户的注意力。

  • 3.转场的动画应该高效,清晰。

以上是道,何为术?

二、动画速度的2个原则

1. 针对动画的进退场,如果进入和离开的速度不一致会给人迟疑,不干脆,拖泥带水的不和谐感。当物体进场时,确保他以最高速度进入相同地,当物体退场时,请保持它的速度,这样的作法会比降低速度退场好。 如下图所示意的速度对照:

这里写图片描述

请这样做!以高速进退场。这颗球以高速进退场时,会给人有自信的感觉。

这里写图片描述

请不要这样做!进场时加快速度或退场时减速,不要用不必要的速度变化来分散使用者的注意力。

2.不同的元件,动画的速度应该是不同的。遵循真实世界的物理规律,个头小的元件可以在短时间内完成加速和减速动作,而个头大元件则应用更多的时间完成加速和减速动作。浅层次可以把它理解为小快大慢。

三、3种交互方式

我歌认为用户的每一个操作都应该得到反馈的。而当用户得到极具漂亮与逻辑性的动画效果时,用户会产生愉悦。(我家猫:铲屎的,快来愉悦朕→_→)而这会鼓舞用户对软件进行进一步的探索:如果按了这个会发生什么事?我在点点另一个好了。

谷歌官方介绍了三种交互实例:

1.表层的交互设计(surface reaction)

这里写图片描述

表层的交互设计是最常见的一种交互方式了,最古老应该可以追溯到鼠标悬停/点击链接变色。而在material design 中,借用墨水的隐喻,墨水是覆盖在每一张纸上的表层现象,所以,点击时,就像盖了一层墨水上去。谷歌实例了一种优雅的做法是点击涟漪效果。

这里写图片描述

这里一个细节是涟漪散开的中心点。这个中心永远都是手指点击的交互点,或鼠标移入的点。

这里写图片描述

2.物体本身的回馈(Material response)

Surface reaction 来自于墨水的隐喻。但material 里的元素,如按钮,本身也能做出反馈,如显示隐藏菜单:

这里写图片描述

正确的做法:物体从触控点出现,视觉上可以感觉到弹出菜单与按钮的视觉连接。

这里写图片描述

错误的做法:从中间乱入,切断了与触控点的联系。

再如,触控上升效果:

这里写图片描述

细心的你一定发现了,日常APP中的很多交互效果都可以归类为“物体本身的回馈”。如微信点赞,爱心变大。微博点赞,大拇指变大。强烈的反馈能带来身心得愉悦。

3.放射性动画效果(Radial action)

使用者的操作行为会有一个中心点,透过这个中心点,使用者将他们的操作意图输入这个系统。与使用者的输入点建立强烈视觉连结,可以让使用者更清楚知道他所做的动作,不论是从手指触控萤幕或是从麦克风输入声音。横跨萤幕的动画效果,应该随着与中心点的距离增加,前进式地引发动画,就像建立一个涟漪动画。以上文字是我抄的,简单如下图:

这里写图片描述

四、如何设计有意义的动画

我们设计交互动画,说白了就是在导演下列三种元素:

进入的元件:可能是直接新增的元件或从其他位置转变过来的,这些元件有各自被引进或再製造的方式。

离开的元件:与新内容不再相关的元件必须透过适当的方式移除。

共用的元件:从渐变动画开始到结束都持续存在的元件,可能是细小的icon图示或显眼的大型图片,透过动画改变成符合屏幕的尺寸。

这里写图片描述

进入元件:歌手背景写真,专辑信息,播放按钮,专辑曲目,返回按钮,黄色转场动画

离开元件:汉堡图标,黄色转场动画

共用元件:专辑封面,歌曲播放控制条,搜索,更多目录

注意:当你在设计你的动画时,请注意以下几件事:

思考使用者的注意力应该如何被引导?什麽样的元件或动作能够协助这个目标?动画过程中,要进入、离开或共用的元件,要如何安排强调或弱化?设计画面时,思考动画前后的状态,在渐变的过程中透过颜色及共用的元件,找到机会创造视觉关联性。审慎地加入动作:思考如何透过移动一个元件,使动画渐变的过程更加清晰流畅。

如下面的一个示范:

这里写图片描述

请这样做,通过上下弹出动画,就像幕布一般,触碰点与新场景创造了视觉的关联性。

这里写图片描述

无动画过渡,新场景的出现显得莫名其妙。

2个可利用的方法:

1.阶层式的时间差:

这里写图片描述

更加有层次的展示动画,能引导用户注意力,分清主次。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

总结

笔者之前工作是在金融公司可能并不是特别追求技术,而笔者又是喜欢追求技术的人,所以格格不入,只能把目标放在互联网大厂了。也希望大家都去敢于尝试和追逐自己的梦想!
BATJ大厂Android高频面试题

觉得有收获的记得点赞,关注+收藏哦!你们的点赞就是我的动力!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

13719030311)]

[外链图片转存中…(img-k4CKnu2b-1713719030313)]

[外链图片转存中…(img-Sayukyum-1713719030315)]

[外链图片转存中…(img-HVksX9PG-1713719030316)]

觉得有收获的记得点赞,关注+收藏哦!你们的点赞就是我的动力!

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值