旋转动画
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);