(原)android中的动画(二)
帧动画的使用需要在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中的动画(二)的更多相关文章
- (原)android中的动画(三)之动画监听&页面切换动画
1.动画也可以设置监听事件,例如在动画结束时需要执行某操作 把要执行的代码写在onAnimationEnd()回调方法中即可: anim.setAnimationListener(new Animat ...
- Android中的动画具体解释系列【4】——Activity之间切换动画
前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自己定义动画.这一篇我们来看看怎样将Android中的动画运用到实际开发中的一个场景--Activity之间跳转动画. 一.定义动画资源 ...
- Android中的动画详解系列【4】——Activity之间切换动画
前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自定义动画,这一篇我们来看看如何将Android中的动画运用到实际开发中的一个场景--Activity之间跳转动画. 一.定义动画资源 如 ...
- Android中矢量动画
Android中矢量动画 Android中用<path> 标签来创建SVG,就好比控制着一支画笔,从一点到一点,动一条线. <path> 标签 支持一下属性 M = (Mx, ...
- Android中的动画
Android中的动画分为: 1.逐帧动画(Frame Animation): 把动画过程的每张静态图片都收集起来,然后由Android来控制依次显示这些静态图片,然后利用人眼”视觉暂留“的原理,给 ...
- Android中的动画总结
文章主要内容来源<Android开发艺术探索>,部分内容来源网上的文章,文中会有链接. Android系统提供了两个动画框架:属性动画框架和View动画框架. 两个动画框架都是可行的选项, ...
- Android中的动画学习总结
android中动画可分为三种:帧动画,补间动画,和属性动画.其中属性动画是google推荐的,它可以实现前面两种动画的效果,运用起来更加灵活. 帧动画:顾名思义,就是一帧一帧的图片,快速播放形成的动 ...
- Android中的动画,选择器,样式和主题的使用
一.动画: 1.动画的分类: 1).Tween动画:这种实现方式可以使视图组件移动.放大.缩小以及产生透明度的变化: 2).Frame动画:传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影. ...
- Android中的动画使用总结
android中动画可分为三种:帧动画,补间动画,和属性动画.其中属性动画是google推荐的,它可以实现前面两种动画的效果,运用起来更加灵活. 帧动画:顾名思义,就是一帧一帧的图片,快速播放形成的动 ...
随机推荐
- 自然语言14_Stemming words with NLTK
https://www.pythonprogramming.net/stemming-nltk-tutorial/?completed=/stop-words-nltk-tutorial/ # -*- ...
- python线程锁
import time,threading balance = 0 lock = threading.Lock() def change_it(n): global balance balance = ...
- Spring中加载xml配置文件的六种方式
Spring中加载xml配置文件的六种方式 博客分类: Spring&EJB XMLSpringWebBeanBlog 因为目前正在从事一个项目,项目中一个需求就是所有的功能都是插件的形式装 ...
- java 运行指定类的main函数
运行jar文件的方法是: java -jar xxx.jar 但是有时,我们希望运行里面的具体某个类,这时可以通过: java -cp xxx.jar xxx.com.xxxx 它会找到这个类的ma ...
- mssql手工注入
判断注入点: 1.数字型 http://www.targer.com/article.aspx?id=1 http://www.targer.com/article.aspx?id=1' http:/ ...
- CSS学习点滴
1.CSS :link 选择器 a:link { background-color:yellow;text-decoration:none } 参考:http://www.w3school.com.c ...
- PHPstorm设置连接FTP,进行文件上传、下载、比较
内容转载自:http://www.cnblogs.com/jikey/p/3486621.html 如何在 ...
- linux shell中判断bash脚本输入的参数个数
看下面的一段程序. #!/bin/bash ]; then echo "参数个数为$#个" else echo "没有参数" fi
- php去掉字符串的最后一个字符附substr()的用法
转自:http://www.jb51.net/article/26604.htm 今天项目中用到,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符"," ...
- 关于Mysql错误:./bin/mysqld_safe --user=mysql& [1] 32710 121003 16:40:22 mysqld_safe Logging to '/var/log/mysqld.log'. 121003 16:40:22 mysqld_s
[root@www]# ./bin/mysqld_safe --user=mysql&[1] 32710[root@www]# 121003 16:40:22 mysqld_safe Logg ...