当前位置: 老葡京网站娱乐 > 操作系统 > 手机系统 > 正文

Android动画复习:包括缩放动画、平移动画、旋转动画和透明度动画

时间:2016-09-04 csdn博客 qq_25193681

老葡京网站娱乐 www.sdguanhua.com 现在是下午,我还在上班,工作都完成了,正在测试,突然感到很迷惘,工作一年了,仍然还是老样子,想到这些不由得倒吸一口冷汗。所以抓紧时间来看看我的博客,更新一下内容,有时候不逼自己一把,永远都不知道自己的极限是什么。 今天就来说说很基础很基础的知识:动画。动画主要分为四种。 1.缩放动画(ScaleAnimation); 2.平移动画(TranslateAnimation); 3.旋转动画(RotateAnimation); 4.透明度(AlphaAnimation); 其实还有一个,叫动画集合,现在这里先放一放。 接下来,我先讲讲在java代码里面怎么去实现动画的效果。 首先看到缩放动画:

      (ImageView iv) {
        ScaleAnimation animation;
        animation =  ScaleAnimation(,,,,Animation.RELATIVE_TO_SELF,
                f, Animation.RELATIVE_TO_SELF, f);
        animation.setDuration();
        animation.setFillAfter();
        iv.startAnimation(animation);
    }
看到代码里面,首先这是一个私有的方法,传了一个ImageView对象,所以很明显,这个是实现图片的缩放效果的。重点来看ScaleAnimation的三个构造方法:
1.ScaleAnimation(fromX, toX, fromY, toY);
2.ScaleAnimation(fromX, toX, fromY, toY, pivotX, pivotY);
3.ScaleAnimation(fromX, toX, fromY, toY, pivotXType, pivotXValue, pivotYType, pivotYValue)
第一个其实很明显,分别是从水平缩放和垂直缩放的角度,默认的原点是当前ImageView控件的左上角。
第二个比一个多了两个参数,这两个参数就是可以让我们定义原点的。
第三个好像更丰富了,从单词上也不难理解。前四个都类似,重点看看后面的四个,首先是 pivotXType,这个是指原点相对x的类型,常用的是Animation.RELATIVE_TO_SELF,pivotXValue是指原点的值,一般的,0.5就是指原点了,后面的两个参数依次类推。

所以,一个缩放动画就搞定了。


接下来,再来看看平移动画:
      (ImageView iv) {
        TranslateAnimation animation;
        animation =  TranslateAnimation(, , Animation.RELATIVE_TO_SELF,
                Animation.RELATIVE_TO_SELF);
        animation.setDuration();
        animation.setFillAfter();
        iv.startAnimation(animation);
    }
同样的,我们来看看它的构造方法。
1.TranslateAnimation(fromXDelta, toXDelta, fromYDelta, toYDelta);
2.TranslateAnimation(fromXType, fromXValue, toXType, toXValue, fromYType, fromYValue, toYType, toYValue);

我们来一一分析一下这个参数的具体意义:

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

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

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

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

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

第二个构造方法

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指的是相对于自身或父控件,对应值应该理解为相对于自身或者父控件的几倍或百分之多少。多试参数就明白了。

我们再来看看旋转动画:

      (ImageView iv) {
        RotateAnimation animation;
        animation =  RotateAnimation(, , Animation.RELATIVE_TO_SELF,
                f, Animation.RELATIVE_TO_SELF, f);
        animation.setDuration();
        animation.setFillAfter();
        iv.startAnimation(animation);
    }

首先来分析一下它的构造方法:

1.RotateAnimation(fromDegrees, toDegrees);

2.RotateAnimation(fromDegrees, toDegrees, pivotX, pivotY);

3.RotateAnimation(fromDegrees, toDegrees, pivotXType, pivotXValue, pivotYType, pivotYValue)。

这里面:

fromDegrees是指从什么角度开始,toDegrees是指在什么角度结束。第一个参数的原点是控件的左上角。

剩下的上面的缩放动画已经涉及过,就不在赘诉了。

最后看看透明度动画:

      (ImageView iv) {
        AlphaAnimation animation;
        animation =  AlphaAnimation(, );
        animation.setDuration();
        animation.setFillAfter();
        iv.startAnimation(animation);
    }

这一个比较简单,只有一个重要的构造方法。

;

这里也很明显,就是从什么状态到什么状态,最小的是-1最大的是1

好了,截止目前,这里java代码实现控件动画的效果就到此结束了,下一次我们聊聊在xml里面怎么设置动画,并且在java代码里怎么引用这些动画。

URL:http://www.sdguanhua.com/OS/extra/201609/50423.htm