帧动画的使用需要在xml文件中指定每一帧所对应的图片

animation-list写法如下:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" > <item
android:drawable="@drawable/b1"
android:duration="200"/>
<item
android:drawable="@drawable/b2"
android:duration="200"/>
<item
android:drawable="@drawable/b3"
android:duration="200"/>
<item
android:drawable="@drawable/b4"
android:duration="200"/>
<item
android:drawable="@drawable/b5"
android:duration="200"/>
<item
android:drawable="@drawable/b6"
android:duration="200"/> </animation-list>

播放帧动画的java代码如下:

iv.setImageResource(R.drawable.myanimationlist);
AnimationDrawable animation = (AnimationDrawable) iv.getDrawable();
animation.start(); // 开始播放动画

旋转,平移,缩放,渐变这四种补间动画的写法很相似,统一列在下面:

public void rote(View v) {
RotateAnimation rotateAnimation = new RotateAnimation(0, 180,
iv.getWidth() / 2, iv.getHeight() / 2);
rotateAnimation.setDuration(2000);
iv.startAnimation(rotateAnimation);
} public void translate(View v) {
TranslateAnimation translateAnimation = new TranslateAnimation(0, 200,
0, 200);
translateAnimation.setDuration(2000);
iv.startAnimation(translateAnimation);
} public void scale(View v) {
ScaleAnimation scaleAnimation = new ScaleAnimation(0.5f, 2, 0.5f, 2,
iv.getWidth() / 2, iv.getHeight() / 2);
scaleAnimation.setDuration(2000);
iv.startAnimation(scaleAnimation); } public void alpha(View v) {
AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);
alphaAnimation.setDuration(2000);
iv.startAnimation(alphaAnimation);
}

补间动画同时只能有一个在执行,如果想让几种补间动画同时执行的话,可以使用animationSet:

public void together(View v) {
AnimationSet animationSet = new AnimationSet(false);
RotateAnimation rotateAnimation = new RotateAnimation(0, 180,
iv.getWidth() / 2, iv.getHeight() / 2);
rotateAnimation.setDuration(2000);
TranslateAnimation translateAnimation = new TranslateAnimation(0, 200,
0, 200);
translateAnimation.setDuration(2000);
ScaleAnimation scaleAnimation = new ScaleAnimation(0.5f, 2, 0.5f, 2,
iv.getWidth() / 2, iv.getHeight() / 2);
scaleAnimation.setDuration(2000);
AlphaAnimation alphaAnimation = new AlphaAnimation(0, 1);
alphaAnimation.setDuration(2000);
animationSet.addAnimation(rotateAnimation);
animationSet.addAnimation(translateAnimation);
animationSet.addAnimation(scaleAnimation);
animationSet.addAnimation(alphaAnimation);
iv.startAnimation(animationSet);
}

这样几种补间动画就可以一起执行了

这篇先总结到这里,下篇总结动画监听事件以及页面切换动画.

(原)android中的动画(二)的更多相关文章

  1. (原)android中的动画(三)之动画监听&页面切换动画

    1.动画也可以设置监听事件,例如在动画结束时需要执行某操作 把要执行的代码写在onAnimationEnd()回调方法中即可: anim.setAnimationListener(new Animat ...

  2. Android中的动画具体解释系列【4】——Activity之间切换动画

    前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自己定义动画.这一篇我们来看看怎样将Android中的动画运用到实际开发中的一个场景--Activity之间跳转动画. 一.定义动画资源 ...

  3. Android中的动画详解系列【4】——Activity之间切换动画

    前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自定义动画,这一篇我们来看看如何将Android中的动画运用到实际开发中的一个场景--Activity之间跳转动画. 一.定义动画资源 如 ...

  4. Android中矢量动画

    Android中矢量动画 Android中用<path> 标签来创建SVG,就好比控制着一支画笔,从一点到一点,动一条线. <path> 标签 支持一下属性 M = (Mx, ...

  5. Android中的动画

    Android中的动画分为: 1.逐帧动画(Frame Animation):  把动画过程的每张静态图片都收集起来,然后由Android来控制依次显示这些静态图片,然后利用人眼”视觉暂留“的原理,给 ...

  6. Android中的动画总结

    文章主要内容来源<Android开发艺术探索>,部分内容来源网上的文章,文中会有链接. Android系统提供了两个动画框架:属性动画框架和View动画框架. 两个动画框架都是可行的选项, ...

  7. Android中的动画学习总结

    android中动画可分为三种:帧动画,补间动画,和属性动画.其中属性动画是google推荐的,它可以实现前面两种动画的效果,运用起来更加灵活. 帧动画:顾名思义,就是一帧一帧的图片,快速播放形成的动 ...

  8. Android中的动画,选择器,样式和主题的使用

    一.动画: 1.动画的分类: 1).Tween动画:这种实现方式可以使视图组件移动.放大.缩小以及产生透明度的变化: 2).Frame动画:传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影. ...

  9. Android中的动画使用总结

    android中动画可分为三种:帧动画,补间动画,和属性动画.其中属性动画是google推荐的,它可以实现前面两种动画的效果,运用起来更加灵活. 帧动画:顾名思义,就是一帧一帧的图片,快速播放形成的动 ...

随机推荐

  1. Android计算器开发实例

    Android简单计算器开发实例如图: ==================================================== activity_main.xml 代码如下: < ...

  2. ubuntu 安装php7.1

    sudo apt-get update sudo apt-get install -y language-pack-en-base locale-gen en_US.UTF-8 sudo apt-ge ...

  3. Zipf定律

    http://www.360doc.com/content/10/0811/00/84590_45147637.shtml 英美在互联网具有绝对霸权 Zipf定律是美国学者G.K.齐普夫提出的.可以表 ...

  4. 安装php时的配置选项

    ./configure --prefix=/home/samba/anthony/web --enable-mbstring --enable-fastcgi --enable-fpm --with- ...

  5. Unity3D SceneView Camera

    http://forum.unity3d.com/threads/moving-scene-view-camera-from-editor-script.64920/

  6. UITableViewCell的separator分隔线设置失效

    // 处理separator -(void)viewDidLayoutSubviews { if ([self.tableView respondsToSelector:@selector(setSe ...

  7. Robot Framework--04 工作区

    转自:http://blog.csdn.net/tulituqi/article/details/7592711 一:Edit 接着前面的来,重新打开我们的RIDE,你会发现之前最后加的Resourc ...

  8. Java学习之Hessian通信基础

    一.首先先说Hessian是什么?    Hessian:hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能,相比WebService,Hessian更简 ...

  9. 理解JavaScript中的arguments,callee,caller,apply

    arguments 该对象代表正在执行的函数和调用它的函数的参数. [function.]arguments[n] 参数function :选项.当前正在执行的 Function 对象的名字. n : ...

  10. 阿里云Centos配置iptables防火墙

    虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FORWORD都是ACCEPT的规则 一.检查iptabl ...