1、效果图跟上一遍博客一样,请参考Android动画效果Animation之Tween实现简单动画;

接下来直接java代码实现如何实现动画:

定义

private Animation animation_alpha,animation_scale,animation_translate,animation_rotate;private AnimationSet animationSet;
分别是透明度动画、旋转动画、尺寸伸缩动画、移动动画

具体实现代码如下:

private void initAnimation() {//透明度控制动画效果 alphaanimation_alpha=new AlphaAnimation(0.1f,1.0f);//第一个参数fromAlpha为 动画开始时候透明度//第二个参数toAlpha为 动画结束时候透明度animation_alpha.setRepeatCount(-1);//设置循环animation_alpha.setDuration(5000);//设置时间持续时间为 5000毫秒// 旋转效果rotateanimation_rotate = new RotateAnimation(0, -720,RotateAnimation.RELATIVE_TO_SELF, 0.5f,RotateAnimation.RELATIVE_TO_SELF, 0.5f);  //第一个参数fromDegrees为动画起始时的旋转角度 //第二个参数toDegrees为动画旋转到的角度  //第三个参数pivotXType为动画在X轴相对于物件位置类型 //第四个参数pivotXValue为动画相对于物件的X坐标的开始位置  //第五个参数pivotXType为动画在Y轴相对于物件位置类型 //第六个参数pivotYValue为动画相对于物件的Y坐标的开始位置animation_rotate.setRepeatCount(-1);animation_rotate.setDuration(5000);//设置时间持续时间为 5000毫秒//尺寸伸缩动画效果 scaleanimation_scale=new ScaleAnimation(0.1f,3.0f,0.1f,3.0f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);//第一个参数fromX为动画起始时 X坐标上的伸缩尺寸    //第二个参数toX为动画结束时 X坐标上的伸缩尺寸     //第三个参数fromY为动画起始时Y坐标上的伸缩尺寸    //第四个参数toY为动画结束时Y坐标上的伸缩尺寸  /*说明:                    以上四种属性值          0.0表示收缩到没有       1.0表示正常无伸缩                        值小于1.0表示收缩                     值大于1.0表示放大*///第五个参数pivotXType为动画在X轴相对于物件位置类型  //第六个参数pivotXValue为动画相对于物件的X坐标的开始位置//第七个参数pivotXType为动画在Y轴相对于物件位置类型   //第八个参数pivotYValue为动画相对于物件的Y坐标的开始位置animation_scale.setRepeatCount(-1);animation_scale.setDuration(5000);//设置时间持续时间为 5000毫秒//移动动画效果translateanimation_translate=new TranslateAnimation(-20f,300f,-20f,300f);//第一个参数fromXDelta为动画起始时 X坐标上的移动位置    //第二个参数toXDelta为动画结束时 X坐标上的移动位置      //第三个参数fromYDelta为动画起始时Y坐标上的移动位置 //第三个参数toYDelta为动画结束时Y坐标上的移动位置 animation_translate.setRepeatCount(-1);//设置动画执行多少次,如果是-1的话就是一直重复animation_translate.setDuration(5000);//设置时间持续时间为 5000毫秒animationSet=new AnimationSet(true);animationSet.addAnimation(animation_alpha);//透明度animationSet.addAnimation(animation_rotate);//旋转animationSet.addAnimation(animation_scale);//尺寸伸缩animationSet.addAnimation(animation_translate);//移动image.startAnimation(animationSet);//开始播放}

AnimationSet这个类是:

Represents a group of Animations that should be played together. The transformation of each individual animation are composed together into a single transform. If AnimationSet sets any properties that its children also set (for example, duration or fillBefore), the values of AnimationSet override the child values.

意思是:代表一群动画应该一同玩耍。转变是由每个个体的动画在一起,成为一个单一的变换。如果AnimationSet设置任何属性,其子女也设置(例如,持续时间或fillBefore)的值AnimationSet推翻这孩子的价值观。




更多相关文章

  1. Android(安卓)3.0系统上 解密GMail动画
  2. Android(安卓)SharedPreferences
  3. android屏幕坐标
  4. Android中关于画廊控件的使用
  5. Android之Animation全介绍
  6. 解决Android帧动画在Oncreate中启动只显示第一帧
  7. Android(安卓)Activity切换动画overridePendingTransition
  8. OKhttp3 get/post使用及获取网页源代码
  9. React Native常用一些组件

随机推荐

  1. Android——TextView 富文本之 Clickable
  2. Android 绘制波浪曲线1
  3. Android调试工具及方法
  4. 关于Android 中加入角标显示
  5. Android的静态注册广播问题
  6. Android CTS one function
  7. 从android image中提取文件
  8. Android Debug Bridge version 1.0.41
  9. Android FrameWork——Touch事件派发过程
  10. 什么是APK文件?他和android手机是什么关系