android中动画分为3种:

  1. Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画;
  2. Frame Animation:顺序播放事先做好的图像,是一种画面转换动画。
  3. Property Animation:属性动画,通过动态地改变对象的属性从而达到动画效果,属性动画为API 11新特性。

下面只介绍前两种动画的使用方法,属性动画将在后续文章中介绍

一 Tween Animation

 Tween Animation有四种形式:

  l  alpha              渐变透明度动画效果

  l  scale              渐变尺寸伸缩动画效果

  l  translate         画面位置移动动画效果

  l  rotate              画面旋转动画效果

这四种动画实现方式都是通过Animation类和AnimationUtils配合实现。

可以通过xml实现:动画的XML文件在工程中res/anim目录。

例如:rotate.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"android:fillAfter = "false"android:zAdjustment="bottom"><rotateandroid:fromDegrees="0"android:toDegrees="360"android:pivotX="50%"android:pivotY="50%"android:duration="4000"/>
</set>

使用动画

Animation anim = AnimationUtils.loadAnimation(mContext, R.anim.rotate);//监听动画的状态(开始,结束)
anim.setAnimationListener(new EffectAnimationListener());
textWidget = (TextView)findViewById(R.id.text_widget);
textWidget.setText("画面旋转动画效果");
textWidget.startAnimation(anim);

二 Frame Animation

  Frame Animation是顺序播放事先做好的图像,跟电影类似。不同于animation package,Android SDK提供了另外一个类AnimationDrawable来定义使用Frame Animation。

利用xml文件实现:res/drawable-hdpi/frame.xml:
<?xml version="1.0" encoding="utf-8"?><animation-listxmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="true"><item android:drawable="@drawable/p1" android:duration="1000"></item><item android:drawable="@drawable/p2" android:duration="1000"></item><item android:drawable="@drawable/p3" android:duration="1000"></item><item android:drawable="@drawable/p4" android:duration="1000"></item><item android:drawable="@drawable/p5" android:duration="1000"></item><item android:drawable="@drawable/p6" android:duration="1000"></item>
</animation-list>

使用动画

AnimationDrawable anim = (AnimationDrawable)getResources().
getDrawable(R.drawable.frame);
textWidget = (TextView)findViewById(R.id.text_widget);
textWidget.setText("背景渐变动画效果");
textWidget.setBackgroundDrawable(anim);
anim.start();

这里有点不同的是,利用AnimationDrawable实现动画时,本身并没有提供接口来监听动画的状态(开始,结束),需要自己处理。

android动画简介相关推荐

  1. android动画应用,Android 动画

     该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解A ...

  2. android 动画多次使用,Android动画使用(二)——补间(View)动画

    1.Android动画简介 1.1 分类 Android系统提供了很多丰富的API去实现UI的2D与3D动画,最主要的划分可以分为如下几类: Drawable Animation: 这种动画(也叫Fr ...

  3. 【Android 属性动画】属性动画 Property Animation 简介 ( 属性动画简介 | 属性动画特性 )

    文章目录 一.属性动画简介 二.属性动画特性 一.属性动画简介 属性动画简介 : 1.动画制作框架 : 属性动画系统 , 允许你 将任何可变的操作制作成动画 , 其功能很强大 ; 2.基本功能 : 使 ...

  4. Android动画之旅-开篇动画简介

    Duang~! Duang~!Duang~! 哈哈,亲爱的小伙伴们,看到上面这句话你有木有联想到什么呢?没错,之前成龙大哥代言的一个很火的洗发露广告词.为什么要用三个词来开启我们Android动画之旅 ...

  5. android jason动画,Android 动画之Lottie动画使用

    Android 动画之Lottie动画使用 一:简介 Lottie是Airbnb开源的一套跨平台的完整解决方案,设计师只需要使用After Effects(简称AE)设计动画之后,使用Lottic提供 ...

  6. android动画详解

    转自:工匠若水 http://blog.csdn.net/yanbober 1 背景 不能只分析源码呀,分析的同时也要整理归纳基础知识,刚好有人微博私信让全面说说Android的动画,所以今天来一发A ...

  7. Android动画(1)

    Android动画:这是一份全面 & 详细的动画使用攻略 前言 动画的使用 是 Android 开发中常用的知识 可是动画的种类繁多.使用复杂,每当需要 采用自定义动画 实现 复杂的动画效果时 ...

  8. Android动画之AnimatorSet联合动画用法

    动画入门和进阶文章列表: Animation动画概述和执行原理 Android动画之补间动画TweenAnimation Android动画之逐帧动画FrameAnimation Android动画之 ...

  9. Android动画之LayoutTransition布局动画

    动画入门和进阶文章列表: Animation动画概述和执行原理 Android动画之补间动画TweenAnimation Android动画之逐帧动画FrameAnimation Android动画之 ...

最新文章

  1. c#_未将对象引用设置到对象的实例
  2. 笔记。------数组
  3. 为什么要重写 hashcode 和 equals 方法?
  4. 查询成绩(要求用链表完成)
  5. OpenLDAP / Ubuntu 18.04 下 docker 版安装
  6. mac mysql 设置短命令_短小强大的8个命令,分分钟帮你提高工作效率!
  7. 如何将 DateTime 转成 UnixTime ?
  8. 感性理解Berlekamp-Massey算法
  9. 如何获取option的下标和值_数智化时代下,如何获取企业增长密码?
  10. Java 在链表的开头和结尾添加元素
  11. Your Bitbucket account has been locked. To unlock it and log in again you must solve a CAPTCHA.
  12. 递归实现将十进制转化为二进制
  13. vfp中写入文本文件_VFP中操作多种文件
  14. java实训自我总结_java实训个人总结
  15. 一个功能超全的「登录认证」神器!
  16. 管理运筹学的一些知识点
  17. 统计学——线性回归公式推导
  18. 主成分分析PCA并给出解释百分比
  19. android可用视频地址,「Android」一款可以获取国内各大视频网站直接播放地址的应用...
  20. 推荐一招适合新手做网站引流量的方法,方法简单但实际有效

热门文章

  1. strstr(str1,str2)函数使用时注意事项
  2. 【软件测试】白盒测试用例设计——基本路径法
  3. L1-021 重要的话说三遍 (5 分)
  4. Joshua Bloch访谈:选择编程语言就像选择酒吧
  5. 小册上新 | 掌握 SpringBoot 场景整合,成为开发多面手!
  6. SDWU 2021 Autumn Training Series C1 1st Round题解
  7. 【国产加密算法-java实现SM3】
  8. 将行政区划代码转换为SQL的简便做法
  9. osgEarth示例分析——osgearth_minimap
  10. Honor—Python note(2)——PyCharm创建新项目