一.Material Design之动画篇
要求:
拟物设计和扁平设计的结合
反馈要微妙而清晰,过渡动画要高效而连贯
触控反应,涟漪、抬高
Material Design动画效果类(一)
Touch feedback
- 触摸反馈提供了用户与UI交互时可视化的确认接触点
- RippleDrawable(ColorStateList color,Drawable content, Drawable mask)
- 物体出现或消失的动画效果
- ViewAnimationUtils.createCircularReveal(View v, int centerX, int centerY, float startRadius, float endRadius)=>Animator
Activity transitions
- Activity的过渡动画:进入、退出、共享元素下的进、出
- 进出支持这些transition效果:Explode、Slide和Fade
- 共享元素transition效果:changeBounds、changeClipBounds、changeTransform、changeImageTransform
- 用Activity.finishAfterTransition()方法,而不是Activity.finish()
Material Design动画效果类(二)
Curved motion
- 自定义动画时间曲线和曲线运动模式
- PathInterpolator类是一个新的基于贝塞尔曲线路径的插值器
- 系统提供了三种基本的曲线:
@interpolator/fast_out_slow_in.xml
@interpolator/linear_out_slow_in.xml
- ObjectAnimator.ofFloat(view, View.X, View.Y, path);
View state changes
- StateListAnimator类定义视图状态变化时的动画效果
- layout:android:stateListAnimator
- AnimationInflater.loadStateListAnimator()
- View.setStateListAnimator()
- AnimatedStateListDrawable
Animate Vector Drawables
- VectorDrawable矢量图片伸缩不失真
- AnimatedVectorDrawable矢量图动画
- 矢量图动画通常包括三类xml文件:
<animated-vector>矢量图,在res/drawable/
用<objectAnimator>元素,在res/anim/