不论在哪个平台动画都是交互的核心,呈现的效果都是趋同的,差别在不同平台实现代码不同。在5.0之前,android 的动画只是做到了存在,动画的效果很生硬,范围很窄,一句话就是很 low,这点在5.0之后得到了巨大的改善,有句话时这么说的:android 的动画从从洪荒时代终于迎来了自己的豆蔻年华。小伙伴们还等什么,赶紧把动画玩好吧!
android 的动画以时间轴开始梳理:
- API 1:
- 帧动画
- DrawableAnimation
- tween 动画(也叫view动画)
- layoutAnimation 布局动画
- API 14:
- 属性动画
- API 19:
- transition 变换动画
- API 21:
- 基于 transition 的转场动画
- vector 矢量动画
- ripple 波纹动画
- Circular Reveal 揭露动画
动画按照功能还可以这样份(学习 flutter 看到的)
- tween
补间动画,介于两者之间,定义了开始点和结束点,以及时间线和定义转换时间和速度的曲线,该框架计算如何从开始点过渡到结束点 - 基于物理的动画
模拟真实世界的运动与行为,例如,当你掷球时,它在何处落地,取决于抛球速度有多快,有多沉重,距离地面有多远。类似地,将连接在弹簧上的球落下(并弹跳)与将连接到绳上的球放下的方式不同 - 颤振画廊
从网格中选择其中一个图像并放大,您可以用甩手或拖动手势平移图像 - Hero animation(英雄动画)
view 的形状从圆形转换为矩形,同时将其从一个屏幕飞到另一个屏幕的过程中进行动画处理。Flutter中的Hero小部件实现了通常称为共享元素转换或共享元素动画的动画风格。
帧动画我就不做了,引用别人的博客了 : android 逐帧动画
Circular Reveal 揭露动画目前学习中,简单可以参阅:
下面是动画学习路线图:
下面是章节列表:
- android 动画系列 (1) - tween 动画(view动画)
- android 动画系列 (2) - interpolator 插值器
- android 动画系列 (3) - layoutAnimation 视图动画
- android 动画系列 (4) - PropertyAnimation 属性动画
- android 动画系列 (5) - ripple 波纹动画
- android 动画系列 (6) - 转场动画
动画属于交互,是交互的核心,国外有个有名的 动画的十二个原则,里面对于动画交互的设计很有启发性,英文是英文的,我还没看
优秀资源学习列表
Android动画,从洪荒时代到豆蔻年华
这是一个不错的动画部分学习网站集合极客学院 - Animation动画详解
极客学院的 android 学习 wiki 是很不错的英勇青铜5 - 简书:
Android 动画基础知识学习(上) | Android 动画基础知识学习(下)大公爵 - 简书:
Android高级动画(1) | Android高级动画(2)
Android高级动画(3) | Android高级动画(4)i 冰点 - 简书:
Android动画 1:视图动画(Tween Animation)、属性动画
Android动画 2:LayoutAnimation、ripple、Circular Reveal、StateListAnimator...
Android转场动画
关于动画,Lottie