欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发之动画实现方法

程序员文章站 2022-05-27 10:05:51
本文实例讲述了android开发之动画实现方法。分享给大家供大家参考。具体分析如下: 动画分为三种: 逐帧动画、布局动画和控件动画 控件动画实现 通过重写anima...

本文实例讲述了android开发之动画实现方法。分享给大家供大家参考。具体分析如下:

动画分为三种:

逐帧动画、布局动画和控件动画

控件动画实现

通过重写animation的 applytransformation (float interpolatedtime, transformation t)函数来实现自定义动画效果,另外一般也会实现 initialize (int width, int height, int parentwidth, int parentheight)函数,这是一个回调函数告诉animation目标view的大小参数,在这里可以初始化一些相关的参数,例如设置动画持续时间、设置interpolator、设置动画的参考点等。

ophone在绘制动画的过程中会反复的调用applytransformation 函数,每次调用参数interpolatedtime值都会变化,该参数从0渐变为1,当该参数为1时表明动画结束。通过参数transformation 来获取变换的矩阵(matrix),通过改变矩阵就可以实现各种复杂的效果。

下面举例说明一个控件动画:

animation anim = new animation() { 
  @override 
  protected void applytransformation(float interpolatedtime, transformation t) { 
 if (interpolatedtime == 1) { 
   v.setvisibility(view.gone); 
 } 
 else { 
   v.getlayoutparams().height = initialheight - (int)(initialheight * interpolatedtime); 
   v.requestlayout(); 
 } 
  } 
  @override
  public boolean willchangebounds() {
 return true;
  }
};

例子中,一个view的高度逐渐由原来的高度变为0。当动画结束之后,view消失。

希望本文所述对大家的android程序设计有所帮助。