Android 实现动画类

Android JDK为我们提供了4种动画效果,分别是: AlphaAnimation,RotateAnimation, ScaleAnimation, TranslateAnimation.今天我想讲解的是TranslateAnimation这个动画效果。也是本人在做一个移动图片的动画效果的项目时,遇到了一些问题。在网上查了很多资料,搞了好几天。终于明白怎么使用这个TranslateAnimation,在本文中记录下来,以便以后忘记了可以查阅。


  TranslateAnimation是移动的动画效果。它有三个构造函数,分别是:


  1.public  TranslateAnimation(Context context,AttributeSet attrs)   略过


  2.public  TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)


  这个是我们最常用的一个构造方法,


  float fromXDelta:这个参数表示动画开始的点离当前View X坐标上的差值;


  float toXDelta, 这个参数表示动画结束的点离当前View X坐标上的差值;


  float fromYDelta, 这个参数表示动画开始的点离当前View Y坐标上的差值;


  float toYDelta)这个参数表示动画开始的点离当前View Y坐标上的差值;


  如果view在A(x,y)点 那么动画就是从B点(x+fromXDelta, y+fromYDelta)点移动到C 点(x+toXDelta,y+toYDelta)点.






  3.public  TranslateAnimation (int fromXType, float fromXValue, int toXType, float toXValue, int fromYType, float fromYValue, int toYType, float toYValue)


  fromXType:第一个参数是x轴方向的值的参照(Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF,or Animation.RELATIVE_TO_PARENT);


  fromXValue:第二个参数是第一个参数类型的起始值;


  toXType,toXValue:第三个参数与第四个参数是x轴方向的终点参照与对应值;


  后面四个参数就不用解释了。如果全部选择Animation.ABSOLUTE,其实就是第二个构造函数。


      以x轴为例介绍参照与对应值的关系:


      如果选择参照为Animation.ABSOLUTE,那么对应的值应该是具体的坐标值,比如100到300,指绝对的屏幕像素单位


      如果选择参照为Animation.RELATIVE_TO_SELF或者 Animation.RELATIVE_TO_PARENT指的是相对于自身或父控件,对应值应该理解为相对于自身或者父控件的几倍或百分之多少。多试参数就明白了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。