android中动画分为3种:

Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画;

Frame Animation:顺序播放事先做好的图像,是一种画面转换动画。

Property Animation:属性动画,通过动态地改变对象的属性从而达到动画效果,属性动画为API 11新特性。

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

一 Tween Animation

Tween Animation有四种形式:

l  alpha              渐变透明度动画效果

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

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

l  rotate              画面旋转动画效果

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

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

例如:rotate.xml

android:fillAfter = "false"

android:zAdjustment="bottom"

>

android:fromDegrees="0"

android:toDegrees="360"

android:pivotX="50%"

android:pivotY="50%"

android:duration="4000"

/>

使用动画

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:

xmlns:android="http://schemas.android.com/apk/res/android"

android:oneshot="true"

>

使用动画

AnimationDrawable anim = (AnimationDrawable)getResources().

getDrawable(R.drawable.frame);

textWidget = (TextView)findViewById(R.id.text_widget);

textWidget.setText("背景渐变动画效果");

textWidget.setBackgroundDrawable(anim);

anim.start();

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

android 简介动画,android动画简介相关推荐

  1. android如何使用gif动画效果,Android中用GifView显示Gif动画及Gifview简介

    最近项目中要用到是实现Gif格式的动画,查了查Android压根就不支持Gif动画,于是乎就研究下了开源的"Gifview". 一.Gifview简介 作者:ant.cy.liao ...

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

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

  3. 【Android 事件分发】ItemTouchHelper 简介 ( 拖动/滑动事件 | ItemTouchHelper.Callback 回调 )

    Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...

  4. [Android]Fragment自定义动画、动画监听以及兼容性包使用

    Fragment是Android在API 11之后加入的一个组件,对提高Android开发中的布局合理性和布局效率都有很大作用,尤其是在Android平板等大屏幕设备的开发中,Fragment的引入能 ...

  5. android 4 动画,[Android]开发App,你得知道这些4——动画

    0.前言 上一篇文章中,我们讲解了Android的触摸事件 有兴趣的可以去看一看 准备工作 在读本文前,你最好有以下准备: (1)安装Android Stuido(以下简称AS) (2)有一定的Jav ...

  6. android view交替动画,Android View原理(View树遍历,View重绘,View动画)

    一.屏幕绘图基础 Android中的GUI系统是客户端和服务端配合的窗口系统,即后台运行了一个绘制服务,每个应用程序都是该服务端的一个客户端,当客户端需要绘制时,首先请求服务端创建一个窗口,然后在窗口 ...

  7. android 登录注册动画,Android开发(14)——动画实战:炫酷登录

    本节内容 1.第三方库实现虚化 2.添加输入框和按钮 3.按钮状态 4.键盘隐藏 5.监听焦点改变的事件 6.手臂旋转动画 7.手掌和手臂动画 Demo简介 1.做一个炫酷登录的界面. image.p ...

  8. android 张口逐帧动画,Android中实现一个简单的逐帧动画(附代码下载)

    场景 Android中的逐帧动画,就是由连续的一张张照片组成的动画. 效果 注: 实现 首先准备一组不同表情的照片,放在res/drawable下,然后在此目录下新建动画资源文件fairy.xml 这 ...

  9. Android开发-WebView/WebViewClient/WebChromeClient简介 API详述 【一】

    老早之前就想总结下Webview相关的知识点了,因为互联网大潮中,很多APP都会使用到Webview,像那些不计其数的电商APP,无一例外的使用Webview:或者一些非电商APP中的像广告页面,注册 ...

  10. Android Transition 页面过度动画

    前言 对于Activity的过度动画都很熟悉了,大多数都是直接使用下面的函数,指定退出的Activity和进入的Activity动画 overridePendingTransition(enterAn ...

最新文章

  1. 传入json对象_【Python基础】可迭代对象amp;迭代器对象及其实现
  2. 从蓝桥杯来谈Fibonacci数列
  3. IPSEC非单播流量处理
  4. 联想电脑如何添加无线网络连接服务器,安装英特尔MYWIFI的操作步骤
  5. 【性能测试】Linux系统监控-CPU信息
  6. WinForm和WPF使用log4net
  7. 设计模式学习笔记——状态(State)模式框架
  8. java数组查找算法_JAVA数组中查找算法中equals和==的问题
  9. android q beta3更新功能,Android Q Beta 3更新内容:拥抱5G和可折叠设备
  10. c xaml语言教程,Xamarin XAML语言教程基础语法篇大学霸
  11. python编程和excel_Excel Vs. Python?为Excel正名
  12. 关于字长、内存空间、地址总线、数据总线的理解
  13. 搭建外网能访问的web服务器
  14. Aviutl 视频处理软件
  15. java swing 简单计算器_java用swing写了一个简单的计算器
  16. 首都师范 博弈论 6 5 3无限次重复博弈中达成合作的条件
  17. 解决canvas导出图片模糊问题
  18. 深入理解Java中的反射机制和使用原理!详细解析invoke方法的执行和使用
  19. 毕业设计 嵌入式 扫地机器人系统
  20. CCleaner的命令行参数教程

热门文章

  1. 算法(四)、时间复杂度、排序、查找
  2. [转载]架构指南 : Java1.7+Eclipse luna + Maven 3.2.5 +spring 4.1.4
  3. 《Clojure程序设计》——导读
  4. ajax+springmvc返回中文乱码的解决办法
  5. ORA-07445ORA-00108错误案例
  6. C++实现Behavioral - Observer模式 (转)
  7. 路由模块router实现step1
  8. Rainbow Tables
  9. 2100 没有反弹shell_反弹shell | ncbash
  10. 桌面APP打包利器 —— Node-webkit