Android开发之动画实现方法

 更新时间:2015年05月28日 11:23:54   作者:imzoer  
这篇文章主要介绍了Android开发之动画实现方法,实例分析了Android中动画的原理与实现技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • 详解Flutter网络图片本地缓存的实现

    详解Flutter网络图片本地缓存的实现

    这篇文章主要为大家介绍了详解Flutter网络图片本地缓存的实现示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 详解Android StrictMode严格模式的使用方法

    详解Android StrictMode严格模式的使用方法

    这篇文章主要介绍了Android StrictMode严格模式的使用方法,需要的朋友可以参考下
    2018-01-01
  • Kotlin对象的懒加载方式by lazy 与 lateinit 异同详解

    Kotlin对象的懒加载方式by lazy 与 lateinit 异同详解

    这篇文章主要为大家介绍了Kotlin对象的懒加载方式by lazy 与 lateinit 异同详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Android仿荷包APP启动动画

    Android仿荷包APP启动动画

    这篇文章主要为大家详细介绍了Android仿荷包APP启动动画的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Activity isFinishing()判断Activity的状态实例

    Activity isFinishing()判断Activity的状态实例

    下面小编就为大家分享一篇Activity isFinishing()判断Activity的状态实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Android实现iPhone晃动撤销输入功能 Android仿微信摇一摇功能

    Android实现iPhone晃动撤销输入功能 Android仿微信摇一摇功能

    这篇文章主要为大家详细介绍了Android实现iPhone晃动撤销输入功能,Android仿微信摇一摇功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Android Fragment源码分析Add方法

    Android Fragment源码分析Add方法

    Fragment是Android3.0后引入的一个新的API,他出现的初衷是为了适应大屏幕的平板电脑, 当然现在他仍然是平板APP UI设计的宠儿,而且我们普通手机开发也会加入这个Fragment, 我们可以把他看成一个小型的Activity,又称Activity片段
    2022-08-08
  • Android开发笔记XML数据解析方法及优缺点

    Android开发笔记XML数据解析方法及优缺点

    XML数据是一种常见的数据格式,Android开发中需要对其进行解析。常用的XML解析方式有DOM、SAX、Pull和Json等,每种方式都有其优缺点。开发者可以根据具体需求选择合适的解析方式,提高数据解析效率和性能
    2023-05-05
  • Android视频压缩的示例代码

    Android视频压缩的示例代码

    本篇文章主要介绍了Android视频压缩的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Android application捕获崩溃异常怎么办

    Android application捕获崩溃异常怎么办

    Android application捕获崩溃异常怎么办?这篇文章主要为大家详细介绍了Android application捕获崩溃异常的相关资料
    2017-06-06

最新评论