android动画的抖动轨迹及淡入淡出效果

近日研究动画,失眠几日终于搞定,将心得整理于此,借以警戒本身,要提升自我学习的能力,要细心,更要淡定!函数

两大重点:布局

1.Tweener的动画参数的使用以意义。学习

2.ObjectAnimator动画及动画轨迹的使用。动画

其中的失误点有:delay的使用,rotation的使用以动画轨迹的构造。设计

tweener是依靠draw来重绘布局,因此在tweener里添加的项需在draw里实现相应的get和set函数。接口

tweener的相关项有:get

1.durationio

表示该动画所播放须要的时间;im

2.ease移动

能够自定义动画从起始值到结束值的播放轨迹,实现本身的getInterpolator,能够线性,sin,log,梯形皆可。

如抖动设置「25,0」其行走的轨迹为sin曲线。

3.alpha

表示动画的透明度,可经过控制运动轨迹实现淡入淡出。

4.rotation

动画旋转的角度,2D旋转,3D的旋转需使用rotationX,rotationY的参数。

可经过设置repeatcount,repeatmode来设置抖动的频率。

5.delay

表示开始动画的延迟时间,调用start后多久才播放动画。以前忽略了这个参数,一直想不明白动画间会相互影响,原来是设置了延时,该打!嘿嘿

6.scaleX,scaleY

表示控件拉伸的尺度,水平方向及竖直方向的伸缩。

7.x y

表示控件从动画开始到结束的位置播放的空间。

8.ObjectAnimator

可支持轨迹动画,设置起点和结束点。可多动画同时执行。

9TranslateAnimation

位移动画。TranslateAnimation firstIntoAnima = new TranslateAnimation(0,0,indexX,indexY);

主要须要注意的地方有,setfillafter接口可设置动画位移后停留在结束的位置;若要停留在开始的位置,又想隐藏由结束跳到开始的细节,设计以下:

在动画的onAnimationEnd接口中重设动画,TranslateAnimation anim = new TranslateAnimation(0,0,0,0);并start,此时前一次未作完的回到开始点的动画将被取消,

并从新开启这次reset动画,将不会产生恢复细节的闪动状态。这句代码简单大救于我啊,纠结很多天的闪动搞定啦@@@嘿嘿

相关文章
相关标签/搜索