android动画之:补间动画(Tween动画)

android中Tween动画实现原理:通过对View的内容进行图形变换 (平移、缩放、旋转、透明度)的改变来实现动画效果。动画效果的定义可用XML来做也可以采用编码来做,今天简单讲下用代码来实现Tween动画中的四种动画方式。四种动画分别对就四个动画类:


渐变透明度动画效果


AlphaAnimation


渐变尺寸缩放动画效果


ScaleAnimation


画面位置移动动画效果


TranslateAnimation


画面旋转动画效果


RotateAnimation

1:平移操作

/**TranslateAnimation(float fromXDelta, float toXDelta,

        float fromYDelta, float toYDelta)

   参数fromXDelta为动画起始时 X坐标上的移动位置

   参数toXDelta为动画结束时 X坐标上的移动位置

   参数fromYDelta为动画起始时Y坐标上的移动位置

   参数toYDelta为动画结束时Y坐标上的移动位置*/

AnimationtranslateAnimation=new TranslateAnimation(0, 100, 0, 0);

/**动画持续时间(单位:毫秒)*、

translateAnimation.setDuration(3000);

/**动画插入器*/

translateAnimation.setInterpolator(this, android.R.anim.cycle_interpolator);

/**设置动画结束后保持当前的位置*/

translateAnimation.setFillAfter(true);

aminationView.startAnimation(translateAnimation);/**aminationView指要实现动画的View*/

2缩放操作

/**ScaleAnimation(float fromX, float toX, float fromY, float toY,

int pivotXType, float pivotXValue, int pivotYType, float pivotYValue);

   第一个参数fromX为动画起始时 X坐标上的伸缩尺寸  0.0表示收缩到没有

   第二个参数toX为动画结束时 X坐标上的伸缩尺寸   1.0表示正常无伸缩

   第三个参数fromY为动画起始时Y坐标上的伸缩尺寸  值小于1.0表示收缩

   第四个参数toY为动画结束时Y坐标上的伸缩尺寸   值大于1.0表示放大*/

/**定义缩放动画*/

AnimationscaleAnimation=new ScaleAnimation(0.5f, 1.0f,1.0f, 1.0f);

scaleAnimation.setDuration(2000);

scaleAnimation.setFillAfter(true);

scaleAnimation.setRepeatCount(3);

aminationView.startAnimation(scaleAnimation);/**aminationView指要实现动画的View*/

3旋转操作

/**RotateAnimation(float fromDegrees, float toDegrees,

      int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)

   第一个参数fromDegrees为动画起始时的旋转角度    此角度是当前为0及360,设置其他值则先跳至该角度的位置再由from -       to的值: 负则正向转,正则反向转

   第二个参数toDegrees为动画旋转到的角度

   第三个参数pivotXType为动画在X轴相对于物件位置类型

   第四个参数pivotXValue为动画相对于物件的X坐标的开始位置 此值是以本身原始位置为原点,即如设为20%p,则向右移动父控      件的20%位移,为负数则向左移

   第五个参数pivotXType为动画在Y轴相对于物件位置类型

   第六个参数pivotYValue为动画相对于物件的Y坐标的开始位置 此值是以本身原始位置为原点,即如设为20%p,则向下移动父控      件的20%位移,为负数则向上移*/

AnimationrotateAnimation=new RotateAnimation(0, 45);

rotateAnimation.setDuration(3000);

rotateAnimation.setFillAfter(true);

aminationView.startAnimation(rotateAnimation);/**aminationView指要实现动画的View*/

4透明度变化操作

/**AlphaAnimation(float fromAlpha, float toAlpha)

第一个参数fromAlpha为 动画开始时候透明度   0.0表示完全透明

第二个参数toAlpha为 动画结束时候透明度   1.0表示完全不透*/

AnimationalphaAnimation=new AlphaAnimation(1, (float) 0.1);

alphaAnimation.setDuration(3000);//设置动画持续时间为3秒

alphaAnimation.setFillAfter(true);//设置动画结束后保持当前的位置(即不返回到动画开始前的位置)

aminationView.startAnimation(alphaAnimation);/**aminationView指要实现动画的View*/

时间: 2024-11-13 07:56:01

android动画之:补间动画(Tween动画)的相关文章

Android 学习之补间(Tween)动画

补间动画,就是开发者只需要指定动画的开始,动画的结束的"关键帧",而动画变化的"中间帧"由系统计算,并且补齐.这就是补间动画. 补间动画共分为四类: AlphaAnimation(透明动画),ScaleAnimation(缩放动画),TranslateAnimation(位移动画),RoateAnimation(旋转动画) 我们依次学习. a:透明动画 public void AlphaAnimation(View v) { //0:代表的是全透明,1代表的是全不透

Android中的补间动画(tween)的简单使用

相对帧动画,补间动画(tween)可以这么理解:我们不必像帧动画一样指定动画的每一帧,只需定义一个动画的开始和结束关键帧,而中间变化的帧由系统帮我们计算. tween动画可以分为下面几种: AlphaAnimation(透明渐变动画): 示例:res/anim/alpha.xml <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.andr

Android 动画系列之补间(Tween)动画详解

转载请标明出处: http://blog.csdn.net/Airsaid/article/details/51591239 本文出自:周游的博客 前言 开发环境 补间动画的属性 Animation的属性 Alpha属性 Rotate属性 Scale属性 Translate属性 AnimationSet属性 补间动画的使用 代码中使用补间动画 XML中定义补间动画资源AnimationDrawable 补间Tween动画与Interpolator 前言 上一篇博客中写了逐帧动画(Frame)的使

Android动画--帧动画和补间动画

帧动画 首先我们定义在drawable文件夹下定义一个xml文件 里面包含我们要播放的动画的图片,以及每一帧动画的播放的时长 <?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@mi

Android动画效果——1.帧动画2.补间动画3.跳转画面(三)

Android--动画效果1.帧动画2.补间动画3.跳转画面 插值器类 xml属性值 说明 LinearInterpolator @android:anim/linear_interpolatorr 动画以均匀的速度改变. AccelerateInterpolator @android:anim/accelerate_interpolator 在动画开始时改变速度较慢,然后开始加速. AccelerateDecelerateInterpolator @android:anim/accelerat

TimePicker控件、帧动画、补间动画

1.TimePicker控件 最近感觉每个开发平台的控件基本都差不多,在Android中控件的事件和.net控件直接写事件有一定的区别,net事件可以直接界面进行事件的绑定哈.不过在Silverlight中,如果用MVVM设计模式的话,也可以自己为控件写Command命令的,可以取代控件的事件. TimePicker控件,也就是事件控件,可以用设置时间的.在页面拖入控件后,默认是显示系统时间的. 1 <TimePicker 2 android:id="@+id/timePicker1&qu

Android基础笔记(十)- 帧动画、补间动画详解、对话框

帧动画 补间动画Tween Animation 对话框以及面试中的注意点 帧动画 帧动画很简单,我们首先看一下Google官方解释This is a traditional animation in the sense that it is created with a sequence of different images. 意思表达的很明了,一个传统的动画是由一组不同的图片组成的.帧动画,就像GIF图片,通过一系列Drawable依次显示来模拟动画的效果. 创建一帧动画分为一下几步(支持4

Android开发之补间动画、

四种补间动画: 1.透明: 2.缩放: 3.位移: 4.旋转: 1 //点击按钮 实现iv 透明的效果 动画 2 public void click1(View v) { 3 //1.0意味着着完全不透明 0.0意味着完全透明 4 AlphaAnimation aa = new AlphaAnimation(1.0f, 0.0f); 5 aa.setDuration(2000); //设置动画执行的时间 6 aa.setRepeatCount(1); //设置重复的次数 7 aa.setRepe

[android] 帧动画和补间动画

逐帧显示一张图片,连起来成为动画 在res/drawable/目录下,创建一个xxx.xml的文件 添加<animation-list>节点,设置是否循环android:oneshot:”false” 添加条目<item>节点,设置资源android:drawable=”@drawable/xxx” 设置执行时间,android:duration=”100” 逐帧添加对应的图片 获取ImageView对象,通过findViewById() 调用ImageView对象的setBack

实现逐帧动画和补间动画两种动画效果

1.逐帧动画(Frame Animation)通常在Android项目的res/drawable/目录下面定义逐帧动画的XML模板文件.编码的时候,需要在动画模板文件的<animation-list>标签中依次放入需要播放的图片,并设置好播放的间隔时间. <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"