第十章 Android中的动画

  1. 实现动画的方案:gif/flash/视频

  2. 动画的原理及三要素:

    原理:若干张图片、连续快速切换。

    三要素:多张图片、顺序、时间间隔

  3. 动画的分类:

    (1)FrameAnimation帧动画(Drawable Animation)

    实现步骤:

    a. 准备好若干张图片

    b. 新建一个Android XML文件,其中,Resource Type:Drawable,Root Element: animation-list

    c. 编辑动画配置文件,设置图片顺序和切换时间间隔


    wKiom1Vb_IzB4rgBAANOLGthVeE856.jpg

    d. 获得动画对象


    wKiom1Vb_SXyE2snAAFl3l_tBXg222.jpg

    e. 播放动画


    wKioL1Vb_sOS_DkBAABDIj2ChPM694.jpg

    存在问题:

    a. 图片较多或较大时可能导致OutOfMemoryError

    b. 在某些设备上(卡/慢)可能出现动画无法显示问题

    原因:动画的播放和生命周期方法(onStart()/onResume())顺序无法保证

    解决:延时播放动画,使动画在onResume()之后播放


    wKioL1VcABijpiGQAAD6uHeh4Hc220.jpg

    (2)TweenAnimation(View Animation)补间动画

    原理:系统通过改变图形的属性,补充过渡过程中的图片,产生动画效果

    属性:大小/位置/角度/透明度

    缺点:只是视图上的效果变换,控件本身没有改变

    实现方法:


    wKiom1Vb_1HhqTT7AAEjQdipRjU843.jpg

    或者


新建Android XML文件,

Resource Type:Tween Animation

Root Element:alpha/scale/translate/rotate



wKiom1Vb_3iyMuNIAAEWamo-LL0331.jpg

代码中将动画xml转换为Animation对象

anim =AnimationUtils.loadAnimation(this,R.anim.test_scale);

(3)PropertiesAnimation属性动画

优点:真正改变了控件的状态

问题:Android 3.x之后新增的特性,需要应用到2.x

解决:开源项目nineoldandroid


更多相关文章

  1. Android开机动画理解
  2. Android 使用Canvas在图片上绘制文字的方法
  3. Android中从图库中选取图片实例详解
  4. imageView的Selector图片选择问题
  5. android 裁剪图片完 程序会崩溃问题
  6. android :图片下载到本地后不让其在相册中显示

随机推荐

  1. Android之 系统启动流程
  2. Android(安卓)Material Design: Navigati
  3. [记录]Android虚拟机大屏幕设置
  4. 修改Android自带的JAVA应用程序
  5. Android知识整理
  6. AndroidManfest
  7. [转]Android(安卓)onActivityResult()不
  8. 【Android(安卓)开发】:Android五种布局的
  9. Android实现微信分享及注意事项
  10. 关于android的单位dp,dip