怎么在Android应用中实现一个动画效果

  介绍

本篇文章给大家分享的是有关怎么在Android应用中实现一个动画效果,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强> Android三种动画详解

<强>帧动画

一张张图片不断的切换,形成动画效果

在可拉的目录下定义xml文件,子节点为animation-list,在这里定义要显示的图片和每张图片的显示时长

& lt; animation-list   xmlns: android=癶ttp://schemas.android.com/apk/res/android"   android:一次通过=癴alse"比;   & lt;项目android:可拉的=癅drawable/g1"   android:持续时间=?00”;/比;   & lt;项目android:可拉的=癅drawable/g2"   android:持续时间=?00”;/比;   & lt;项目android:可拉的=癅drawable/g3"、   android:持续时间=?00”;/比;   & lt;/animation-list>

在屏幕上播放帧动画

第四ImageView=(ImageView) findViewById (R.id.iv);//把动画文件设置为imageView的背景
  iv.setBackgroundResource (R.drawable.animations);
  AnimationDrawable广告=(AnimationDrawable)
  iv.getBackground ();//播放动画
  ad.start (); 

补间动画

    <李>原形态变成新形态时为了过渡变形过程,生成的动画就叫补间动画,补间动画,只是一个动画效果,组件其实还在原来的位置上,xy没有改变李 <>李位移,旋转,缩放,透明

<强>位移:

    <李>参数10指的是X的起点坐标,但不是指屏幕X坐标为10的位置,而是imageview的真实X + 10 <李>参数150指的是X的终点坐标,它的值是imageview的真实X + 150
      李,
//创建为位移动画对象,设置动画的初始位置和结束位置   TranslateAnimation ta=new TranslateAnimation (150, 140);
    <李> x坐标的起点位置,如果相对于自己,传0.5 f,那么起点坐标就是真实x + 0.5 * 4宽度 <李> x坐标的终点位置,如果传入2,那么终点坐标就是真实x + 2 * 4的宽度 <李> y坐标的起点位置,如果传入0.5 f,那么起点坐标就是真实y + 0.5 * 4高度 <李> y坐标的终点位置,如果传入2,那么终点坐标就是真实y + 2 * 4高度
 TranslateAnimation ta=new TranslateAnimation(动画。RELATIVE_TO_SELF 0.5 f,动画。RELATIVE_TO_SELF 2动画。RELATIVE_TO_SELF 0.5 f,动画。RELATIVE_TO_SELF 2); 

动画播放相关的设置

//设置动画持续时间
  ta.setDuration (2000);//动画重复播放的次数
  ta.setRepeatCount (1);//动画重复播放的模式
  ta.setRepeatMode (Animation.REVERSE);//动画播放完毕后,组件停留在动画结束的位置上
  ta.setFillAfter(真正的);//播放动画
  iv.startAnimation (ta); 

缩放:

    <李>参数0.1 f表示动画的起始宽度是真实宽度的0.1倍 <李>参数4表示动画的结束宽度是真实宽度的4倍 <李>缩放的中心点在静脉左上角
      李,
 ScaleAnimation sa=new ScaleAnimation (0.1 f, 4、0.1 f, 4); 
    <李>参数0.1 f和4意义与上面相同李 <>李改变缩放的中心点:传入的两个0.5 f类型都是相对于自己,这两个参数改变了缩放的中心点 <李>中心点x坐标=真实x + 0.5 * 4宽度 <李>中心点Y坐标=真实Y + 0.5 * 4高度
      李,
 ScaleAnimation sa=new ScaleAnimation (0.1 f, 4、0.1 f 4动画。RELATIVE_TO_SELF 0.5 f,动画。RELATIVE_TO_SELF 0.5 f); 

透明:

0为完全透明,1为完全不透明

 AlphaAnimation aa=new AlphaAnimation (0, - 0.5 f); 

旋转:

    <李> 20表示动画开始时的iv的角度 <李> 360表示动画结束时iv的角度 <李>默认旋转的圆心在静脉左上角
      李,
 RotateAnimation ra=new RotateAnimation (360), 
    <李> 20360的意义和上面一样李 <>李指定圆心坐标,相对于自己,值传入0.5,那么圆心的x坐标:真实x +四世宽度* 0.5 <李>圆心的Y坐标:真实Y +第四高度* 0.5
      李,
 RotateAnimation ra=new RotateAnimation(360、动画。RELATIVE_TO_SELF 0.5 f,动画。RELATIVE_TO_SELF 0.5 f); 

所有动画一起飞

//创建动画集合
  AnimationSet设置=new AnimationSet(假);//往集合中添加动画
  set.addAnimation (aa);
  set.addAnimation (sa);
  set.addAnimation (ra);
  iv.startAnimation(集);

<强>属性动画

位移:

    <李>第一个参数目标指定要显示动画的组件

    怎么在Android应用中实现一个动画效果