android之animation
Android Animation一共有四种
Alpha: 淡入淡出效果
Scale: 缩放效果
Rotate: 旋转效果
Translate:移动效果
使用Tweened Animations的步骤
1.创建一个AnimationSet对象
2.根据需要创建需要的Animation对象
3.根据软件动画的需要,为Animation对象设置相应的数据
4.将Animation对象添加到AnimationSet对象中
5.使控件对象开始执行AnimationSet
Alpha动画
AnimationSet as=new AnimationSet(true);
AlphaAnimation al=new AlphaAnimation(1,0);
//1代表完全不透明,0代表完全透明
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
AnimationSet as=new AnimationSet(true);
AlphaAnimation al=new AlphaAnimation(1,0);
//1代表完全不透明,0代表完全透明
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
Rotate动画
AnimationSet as=new AnimationSet(true);
RotateAnimation al=new RotateAnimation (0,720,Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.5f);
//前两个参数参数旋转的角度,后面几个参数决定旋转的中心
//Animation.ABSOLUTE:绝对坐标
//Animation.RELATIVE_TO_PARENT:相对父控件
//Animation.RELATIVE_TO_SELF:相对自己
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
AnimationSet as=new AnimationSet(true);
RotateAnimation al=new RotateAnimation (0,720,Animation.RELATIVE_TO_PARENT,0.5f,Animation.RELATIVE_TO_PARENT,0.5f);
//前两个参数参数旋转的角度,后面几个参数决定旋转的中心
//Animation.ABSOLUTE:绝对坐标
//Animation.RELATIVE_TO_PARENT:相对父控件
//Animation.RELATIVE_TO_SELF:相对自己
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
Scale动画
AnimationSet as=new AnimationSet(true);
ScaleAnimation al=new ScaleAnimation(0,1,0,1,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
//前四个参数是X从多大到多大,Y从多大到多大,后面的参数是缩放的中心点
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
AnimationSet as=new AnimationSet(true);
ScaleAnimation al=new ScaleAnimation(0,1,0,1,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);
//前四个参数是X从多大到多大,Y从多大到多大,后面的参数是缩放的中心点
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
Translate动画
AnimationSet as=new AnimationSet(true);
TranslateAnimation al=new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2);
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
AnimationSet as=new AnimationSet(true);
TranslateAnimation al=new TranslateAnimation(Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2,Animation.RELATIVE_TO_SELF,0,Animation.RELATIVE_TO_SELF,2);
al.setDuration(3000);
as.addAnimation(al);
iv.startAnimation(as);
Animation还有几个方法
setFillAfter(boolean fillAfter)
如果fillAfter的值为真的话,动画结束后,控件停留在执行后的状态
setFillBefore(boolean fillBefore)
如果fillBefore的值为真的话,动画结束后,控件停留在动画开始的状态
setStartOffset(long startOffset)
设置动画控件执行动画之前等待的时间
setRepeatCount(int repeatCount)
设置动画重复执行的次数
android之animation的更多相关文章
- Android动画Animation之Tween用代码实现动画
透明度动画.旋转动画.尺寸伸缩动画.移动动画 package com.javen.tween; import android.annotation.SuppressLint; import andro ...
- Android 动画animation 深入分析
转载请注明出处:http://blog.csdn.net/farmer_cc/article/details/18259117 Android 动画animation 深入分析 前言:本文试图通过分析 ...
- Android之Animation动画的使用(一)
我们在使用一些控件时候,难免会设置一些进入和退出的动画效果,比如popupwindow.listview的item动画.按钮.图片等等,要使这些控件有动画效果,当然需要用到Animation了. 下面 ...
- Android:Animation
Android 之 Animation 关于动画的实现,Android提供了Animation,在Android SDK介绍了2种Animation模式:1. Tween Animation:通过对场 ...
- Android动画Animation简单示例
Animation是Android给我们提供的一个可以实现动画效果的API,利用Animation我们可以实现一系列的动画效果,比如缩放动画,透明度动画,旋转动画,位移动画,布局动画,帧动画等等.An ...
- 深入Animation,在SurfaceView中照样使用Android—Tween Animation!
第一类:Frame By Frame 帧动画( 不推荐游戏开发中使用) 所谓帧动画,就是顺序播放事先做好的图像,类似于放电影: 分析: 此种方式类似我之 ...
- android.view.animation(2) - 插值器Interpolator
public interface Interpolator implements TimeInterpolator android.view.animation.Interpolator Known ...
- Android Property Animation动画
3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中又引入了一个新的动画系统:property animation,这三 ...
- Android中Animation 详细解读
Animation从总体来说可以分为两类: 1.Tweened Animations:该类提供了旋转,移动,伸展,淡入淡出等效果 Tweened Animations也有四种类型: 1. Al ...
随机推荐
- 由cobertura插件生成测试覆盖率报告
由于cobertura已经集成到maven中,所以可以很方便的直接调用此插件生成报告: 直接运行命令:mvn cobertura:cobertura 就可以直接生成测试报告了. 下面是截图:
- 用PowerMock mock 由工厂方法产生的对象
有些对象需要mock的对象是由工厂方法产生出来的,而工厂方法一般是静态方法,这时候就需要同时mock工厂方法及对象 被测方法: public class EmployeeServiceFactory ...
- TCP Socket 通讯(客户端与服务端)
/*----------------------------编译环境:VS2015---------------------------------------*/ /*--------------- ...
- INSERT INTO 语句的语法错误【 OLE报错,office终端执行SQL没有问题】
表名,字段在代码执行之前一定要进行" [ 字段.表名 ] "中括号包裹,不然会报INSERT INTO 语句的语法错误! office终端没有报错的原因,应该是office在执行之 ...
- JDBC driver connection string大全
Database / data source URL format / driver name Value Default port MySQL URL format: jdbc:mysql: ...
- 为什么eclipse中代码提示错误,但是项目目录却不提示错误
public class Aasf { public static void main(String[] args) { System.out.println("");aihfsa ...
- JS 笔记(二) - 函数
1. 函数的 声明 1) 声明式写法 function j1(id){ alert(id); } 2) 声明匿名函数变量 var j2 = function (a, b) { alert(a + &q ...
- Android 数据库管理— — —升级数据库
package com.example.databasetest; import android.content.Context;import android.database.sqlite.SQLi ...
- MySQL数据库9 - 日期与时间函数
一 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为数 ...
- 【转】C#线程同步示例
using System; using System.Threading; // 银行帐户类 class Account { int balance; ...