From c22db8f91f27d50acdc55ae9574cc066810c6ef5 Mon Sep 17 00:00:00 2001 From: gjrcoding Date: Sun, 27 Sep 2020 13:02:18 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E5=8A=A8=E7=94=BB=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=8F=A3=E6=B0=B4=E8=AF=9D.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blogs/Android/口水话/动画相关口水话.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blogs/Android/口水话/动画相关口水话.md b/blogs/Android/口水话/动画相关口水话.md index 4efb487..65a0553 100644 --- a/blogs/Android/口水话/动画相关口水话.md +++ b/blogs/Android/口水话/动画相关口水话.md @@ -10,7 +10,7 @@ #### 三种动画 -桢动画、补间动画和属性动画。桢动画可以使用 AnimationDrawable 或者定义一个 xml,使用简单,不过需要注意图片是全部加载到内存中,可能导致 OOM。补间动画即位移、旋转、缩放、透明度动画,可以定义 xml 然后用 AnimationUtils 加载,也可以直接 new TranslateAnimation 等等。基本上大部分动画都能实现,常用于 Activity 转场动画、Dialog 弹出动画等,缺点是只改变显示,不改变实际属性。属性动画即 Animator,它是一个抽象类,有两个直接子类,一个是 AnimatorSet 用于组合动画,一个是 ValueAnimator。ValueAnimator 需要手动添加监听器,更加灵活。ValueAnimator 也有两个子类,一个是 ObjectAnimator,每次更新时自动走 setXxx 方法,所以不需要像 ValueAnimator 那样添加监听器,还一个是 TimeAnimator,它只做一件事,提供一个时间流,每 18ms 回调一次。 +帧动画、补间动画和属性动画。帧动画可以使用 AnimationDrawable 或者定义一个 xml,使用简单,不过需要注意图片是全部加载到内存中,可能导致 OOM。补间动画即位移、旋转、缩放、透明度动画,可以定义 xml 然后用 AnimationUtils 加载,也可以直接 new TranslateAnimation 等等。基本上大部分动画都能实现,常用于 Activity 转场动画、Dialog 弹出动画等,缺点是只改变显示,不改变实际属性。属性动画即 Animator,它是一个抽象类,有两个直接子类,一个是 AnimatorSet 用于组合动画,一个是 ValueAnimator。ValueAnimator 需要手动添加监听器,更加灵活。ValueAnimator 也有两个子类,一个是 ObjectAnimator,每次更新时自动走 setXxx 方法,所以不需要像 ValueAnimator 那样添加监听器,还一个是 TimeAnimator,它只做一件事,提供一个时间流,每 18ms 回调一次。 #### 估值器、插值器 @@ -24,4 +24,4 @@ 补间动画的实现是在 View 的 draw 方法里,会去调用 TranslateAnimation 等的 applyTransformation 方法,这个方法其实就是对 View 矩阵进行变换。 -属性动画是在其内部创建一个 AnimationHandler,这个 AnimationHandler 有三个 ArrayList,分别表示活动动画、下一帧动画以及延时动画。它里面通过注册一个 Choreographer 回调去真正的执行动画。 \ No newline at end of file +属性动画是在其内部创建一个 AnimationHandler,这个 AnimationHandler 有三个 ArrayList,分别表示活动动画、下一帧动画以及延时动画。它里面通过注册一个 Choreographer 回调去真正的执行动画。