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

现在是下午,我还在上班,工作都完成了,正在测试,突然感到很迷惘,工作一年了,仍然还是老样子,想到这些不由得倒吸一口冷汗。所以抓紧时间来看看我的博客,更新一下内容,有时候不逼自己一把,永远都不知道自己的极限是什么。 今天就来说说很基础很基础的知识:动画。动画主要分为四种。 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代码里怎么引用这些动画。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索参数
, 动画
, c++ 函数平移缩放问题
, animate
, animation
, 平移动画
, android pivotx
, imageview控件
, imageview动画android
, 一个
, 缩放动画
, 透明度动画
, TranslateAnimation
ScaleAnimation
,以便于您获取更多的相关知识。

时间: 2024-09-07 16:47:22

Android动画复习:包括缩放动画、平移动画、旋转动画和透明度动画的相关文章

Android实现对图片放大、平移和旋转的功能_Android

先来看看要实现的效果图 在讲解中,需要大家提前了解一些关于图片绘制的原理的相关知识. 关于实现的流程      1.自定义View      2.获得操作图片的Bitmap      3.复写View的onTouchEvent()方法中的ACTION_DOWN,ACTION_POINTER_DOWN,ACTION_MOVE,ACTION_POINTER_UP以及ACTION_UP事件.      4.定义相应图片变化的Matrix矩阵,通过手势操作的变化来设置相应的Matrix.      5.

Android实现对图片放大、平移和旋转的功能

先来看看要实现的效果图 在讲解中,需要大家提前了解一些关于图片绘制的原理的相关知识. 关于实现的流程 1.自定义View 2.获得操作图片的Bitmap 3.复写View的onTouchEvent()方法中的ACTION_DOWN,ACTION_POINTER_DOWN,ACTION_MOVE,ACTION_POINTER_UP以及ACTION_UP事件. 4.定义相应图片变化的Matrix矩阵,通过手势操作的变化来设置相应的Matrix. 5.完成最终的Matrix设置时,通过invalida

Android单点触控实现图片平移、缩放、旋转功能_Android

相信大家使用多点对图片进行缩放,平移的操作很熟悉了,大部分大图的浏览都具有此功能,有些app还可以对图片进行旋转操作,QQ的大图浏览就可以对图片进行旋转操作,大家都知道对图片进行缩放,平移,旋转等操作可以使用Matrix来实现,Matrix就是一个3X3的矩阵,对图片的处理可分为四个基础变换操作,Translate(平移变换).Rotate(旋转变换).Scale (缩放变换).Skew(错切变换),如果大家对Matrix不太了解的话可以看看这篇文章(点击查看),作者对每一种Matrix的变换写

Android单点触控实现图片平移、缩放、旋转功能

相信大家使用多点对图片进行缩放,平移的操作很熟悉了,大部分大图的浏览都具有此功能,有些app还可以对图片进行旋转操作,QQ的大图浏览就可以对图片进行旋转操作,大家都知道对图片进行缩放,平移,旋转等操作可以使用Matrix来实现,Matrix就是一个3X3的矩阵,对图片的处理可分为四个基础变换操作,Translate(平移变换).Rotate(旋转变换).Scale (缩放变换).Skew(错切变换),如果大家对Matrix不太了解的话可以看看这篇文章(点击查看),作者对每一种Matrix的变换写

【Android开发】动画范例2-旋转、平移、缩放和透明度渐变的补间动画

实现旋转.平移.缩放和透明度渐变的补间动画,具体实现如下: 1.在新建项目的res目录中,创建一个名为anim的目录,并在该目录中创建实现旋转.平移.缩放和透明度渐变的动画资源文件. 透明度渐变的动画资源文件anim_alpha.xml(完全不透明->完全透明->完全不透明) <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.an

Android动画之渐变动画(Tween Animation)详解 (渐变、缩放、位移、旋转)_Android

本文实例讲述了Android动画之渐变动画(Tween Animation).分享给大家供大家参考,具体如下: Android 平台提供了两类动画. 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转.平移.放缩和渐变). 第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似. 下面就讲一下Tweene Animations. 主要类: Animation                  动画 AlphaAnimation          

android帧动画,移动位置,缩放,改变透明度等动画讲解

1.苦逼的需求又来了,需要实现一些动画效果,第一个想到的是播放gif图片,但是这样会占包的资源,并且清晰度不高,于是想着程序实现,自己用帧动画+缩放+移动+透明度 实现了一些想要的效果,这里跟大家分享一下 2.效果图如下:      3.帧动画实现代码     1).首先获取每帧显示的ImageView控件,然后把所有帧放到AnimationDrawable对象里面去,开启动画,通过handle延时2秒关闭动画 ImageView ivFrame = (ImageView) findViewBy

ios弃用故事板之后就设备旋转就不再有动画了,怎么破

问题描述 ios弃用故事板之后就设备旋转就不再有动画了,怎么破 解决方案 响应设备旋转事件,然后再次调用动画

Android 背景图片的缩放实现

Android 背景图片的缩放 ONE Goal ,ONE Passion ! 我们看到一些效果,控件中的背景图片会慢慢变大,但是控件不会随着图片的放大而变大.效果如下: 分析: 想让图片变大,而且控件本身大小不能改变,那么就要改变图片自身大小,而不能改变控件大小. 实现原理: 1,首先拿到我们要放大的图片bitmap. 2,使用Bitmap.createBitmap().创建一个bitmap的副本. 3,使用matrix去改变图片副本本身大小 4,使用ValueAnimator去根据变化率将副