From 9b5eb9235926545305ffd62418225952d13356db Mon Sep 17 00:00:00 2001
From: Omooo <869759698@qq.com>
Date: Sat, 29 Dec 2018 15:05:22 +0800
Subject: [PATCH] add Animator
---
blogs/Animator.md | 132 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 132 insertions(+)
create mode 100644 blogs/Animator.md
diff --git a/blogs/Animator.md b/blogs/Animator.md
new file mode 100644
index 0000000..7d97f69
--- /dev/null
+++ b/blogs/Animator.md
@@ -0,0 +1,132 @@
+---
+Animator
+---
+
+#### 目录
+
+1. 思维导图
+2. 帧动画
+ - 使用方式
+ - 优缺点
+ - 应用场景
+3. 补间动画
+ - 位移动画
+ - 缩放动画
+ - 旋转动画
+ - 透明度动画
+ - 组合动画
+ - 优缺点
+ - 应用场景
+4. 属性动画
+5. 参考
+
+#### 思维导图
+
+#### 帧动画
+
+##### 使用方式
+
+1. xml 定义方式
+
+ 在 drawable 目录下定义一个 drawable-list,然后给图片设置 res 就好了。
+
+ ```xml
+
+
+
+
+
+ //...
+
+ ```
+
+ ```java
+ mIvFrame.setImageResource(R.drawable.anim_frame);
+ AnimationDrawable drawable = (AnimationDrawable) mIvFrame.getDrawable();
+ drawable.start();
+ drawable.stop();
+ ```
+
+2. Java 代码实现
+
+ 其实就是用代码构建 AnimationDrawable。
+
+ ```java
+ mAnimationDrawable=new AnimationDrawable();
+ for (int i = 0; i < 10; i++) {
+ if (i<5){
+ mAnimationDrawable.addFrame(getDrawable(R.drawable.ic_vip),100);
+ }else {
+ mAnimationDrawable.addFrame(getDrawable(R.drawable.ic_clouse),100);
+ }
+ }
+ mIvFrame.setImageDrawable(mAnimationDrawable);
+ mAnimationDrawable.start();
+ mAnimationDrawable.stop();
+ ```
+
+##### 优缺点
+
+优点:使用简单
+
+缺点:图片是全部加载到内存中,可能导致 OOM。
+
+##### 应用场景
+
+基本上很少使用,可以看成 GIF 图。
+
+#### 补间动画
+
+##### 位移动画
+
+1. xml 定义方式
+
+ ```xml
+
+
+
+
+ ```
+
+ ```java
+ mAnimation = AnimationUtils.loadAnimation(mContext, R.anim.anim_trans);
+ mIvFrame.startAnimation(mAnimation);
+ ```
+
+2. Java 代码实现方式
+
+ ```java
+ TranslateAnimation animation = new TranslateAnimation(0, 100, 0, 100);
+ animation.setDuration(1000);
+ animation.setFillAfter(true);
+ mIvFrame.startAnimation(animation);
+ ```
+
+##### 其他动画
+
+类似,不举例了。
+
+##### 优缺点
+
+优点:使用简单
+
+缺点:只改变显示,不改变实际属性
+
+##### 应用场景
+
+基本上大部分动画都能实现,常见于 Activity 转场动画等等
+
+#### 属性动画
+
+![](https://i.loli.net/2018/12/29/5c271c4643fc8.png)
+
+
+
+#### 参考
+
+[Android 动画 Animator 家族使用指南](https://juejin.im/post/5c245f086fb9a049c043146a)
\ No newline at end of file