旋转动画
RotateAnimation ra = new RotateAnimation(0
,720
, Animation.RELATIVE_TO_SELF //相对于自身的0.5
,0.5f
,Animation.RELATIVE_TO_SELF //相对于自身的0.5
,0.5f);
ra.setDuration(800);
ra.setRepeatCount(1); //循环次数1次
ra.setRepeatMode(Animation.REVERSE); //反转
imageView.startAnimation(ra);
透明度动画
//参数1:起始透明度 参数2:结束透明度
AlphaAnimation aa = new AlphaAnimation(1.0f, 0.5f);
aa.setDuration(2000);
//停留在动画执行完的状态
//aa.setFillAfter(true);
//设置重复次数 实际次数为传的实际参数+1 常量INFINITE代表无限次
aa.setRepeatCount(Animation.INFINITE);
//设置重复模式 常量REVERSE是类似钟摆的过度变化效果
aa.setRepeatMode(Animation.REVERSE);
//让iv控件执行此动画
iv.startAnimation(aa);
旋转动画
ScaleAnimation sa = new ScaleAnimation(1, 2
, 1, 2
, Animation.RELATIVE_TO_SELF
, 0.5f
, Animation.RELATIVE_TO_SELF
, 0.5f);
sa.setDuration(2000);
iv.startAnimation(sa);
缩放动画
ScaleAnimation sa = new ScaleAnimation(1, 2
, 1, 2
, Animation.RELATIVE_TO_SELF
, 0.5f
, Animation.RELATIVE_TO_SELF
, 0.5f);
sa.setDuration(2000);
iv.startAnimation(sa);
平移动画(顺便加上让元素平移出屏幕然后停留在屏幕外面)
//模拟将图像移出手机屏幕
//获取当前屏幕的宽度
int width = getWindowManager().getDefaultDisplay().getWidth();
//创建平移补间动画对象 参数1:x起始点 参数2:x结束点 参数3:y起始点 参数4:y结束点
TranslateAnimation ta = new TranslateAnimation(0, width
, 0, 0);
//设置停留在平移后的状态
ta.setFillAfter(true);
ta.setDuration(2000);
iv.startAnimation(ta);
多种补间动画同时执行
AlphaAnimation aa = new AlphaAnimation(1.0f, 0.5f);
aa.setDuration(2000);
TranslateAnimation ta = new TranslateAnimation(0, 100
, 0, 100);
ta.setDuration(2000);
ScaleAnimation sa = new ScaleAnimation(1, 2
, 1, 2
, Animation.RELATIVE_TO_SELF
, 0.5f
, Animation.RELATIVE_TO_SELF
, 0.5f);
sa.setDuration(2000);
AnimationSet as = new AnimationSet(false);
as.addAnimation(aa);
as.addAnimation(ta);
as.addAnimation(sa);
// as.setDuration(2000);
iv.startAnimation(as);