逐帧动画
- AnimationDrawable与逐帧动画。在元素中定义子元素,表示动画的全部帧,并制定持续时间即可。
补间动画
-
android使用Animation代表抽象的动画类
-
AlphaAnimation:透明度改变的动画,指定开始透明度、结束透明度、动画持续时间
-
ScaleAnimation:大小缩放的动画,指定缩放中心、开始缩放比、结束缩放比、动画持续时间
-
TranslateAnimation:位移变化的动画,指定开始位置、结束位置、动画持续时间
-
RotateAnimation:旋转动画,旋转轴心、开始旋转角度、结束旋转角度
-
通过interpolator指定动画运行期间,动态补入多少帧,在哪些时刻补入。能够指定动画的变化速度。
-
-
interpolator的实现类
-
LinearInterpolator:均匀速度改变
-
AccelerateInterpolator:加速
-
AccelerateDecelerateinterpolator:中间加速
-
CycleInterpolator:循环播放n次,变化速度正玄曲线
-
DecelerateInterpolator:减速
-
-
自定义补间动画
-
继承Animation,重写抽象基类的interpolatedTime时间进行比方法和Transformation补间动画变形程度。
-
Transformation代表了对图片或者视图的变形程度,封装了一个Matrix对象用来对图形进行位移、倾斜、旋转等变换。封装了一个Camera对象,进行三维空间变换。getMatrix():将Camera所有变换应用到matrix上
-
getMatrix():Camera对应变换应用到matrix上
-
rotateX():X轴旋转
-
rotateY():Y轴旋转
-
rotateZ():Z轴旋转
-
translate():目标组件在三维空间内变换
-
applyToCanvas():应用到场景当中
-
属性动画
-
属性变化可以定义任意性质的变化。可以针对任何对象执行的动画,需要制定动画持续时间、动画的插值方式、动画的重复次数、重复行为、动画集、帧刷新率
-
属性动画的API
-
Animator:提供了创建属性动画的基类。
-
ValueAnimator:属性动画主要的时间引擎,负责计算各个帧的属性值,定义了属性动画的绝大部分核心功能。
-
ObjectAnimator:对指定对象的属性执行动画,是ValueAnimator的子类
-
AnimatorSet:组合多个Animator,并制定多个Animator的播放次序。
-
IntEvaluator:计算int属性值的计算器。
-
FloatEvaluator:计算float类型的计算器
-
ArgbEvaluator:计算十六进制颜色值的计算器
-
TypeEvaluator:计算器接口。自定义计算器。
-
-
ValueAnimator创建属性动画的步骤:
-
调用ofInt() ofFloat() ofObject()静态方法创建ValueAnimator实例
-
调用setXxx() 方法设置动画持续时间,差值方式、重复次数
-
调用start()方法启动动画
-
为ValueAnimator注册AnimatorUpdateListener监听器,监听ValueAnimator计算出来的值,并将这些值应用到制定对象上。通过getAnimatorValue()方法来计算值,并应用到任何对象上。
-
-
ObjectAnimator创建属性动画的步骤
-
继承了ValueAnimator,已经绑定了指定的对象,直接将ValueAnimator计算的值应用到制定对象的指定属性上。
-
必须为绑定的制定对象提供特定的setter方法才行。如果没有开始值,必须提供getter方法提供开始值。
-
如果对象是View需要调用onAnimationUpdate()中调用View.invalidate()方法来刷新屏幕显示。
-
使用SurfaceView实现动画
-
SurfaceView与SurfaceHolder相互关联使用,后者提供了方法:
- lockCanvas()锁定surfaceView对象,或者对指定区域更新。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: 开源网安入选安全牛「全景图」八项细分领域,引领软件供应链安全发展
安全牛第十版《网络安全行业全景图》正式发布(以下简称”全景图“),共收录456家国内网络安全企业和相关行业机构,细分领域共收录3180项。开源网安成功入选RASP、开发流程安全管控、DevSecOps、静态安全测试、动态/模糊安全测试、交互式安全测试、软件成分…