透明度变化
1.普通动画

其中repeatCount为循环多少次,infinite为无限循环

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <alpha        android:fromAlpha="0.1"        android:repeatCount="infinite"        android:duration="500"        android:toAlpha="1" /></set>
 Animation animation = AnimationUtils.loadAnimation(this, R.anim.alpha);                animation.setDuration(1000);                image.startAnimation(animation);

2.属性动画

 ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(image, "alpha", 0f, 1.0f,0f);                objectAnimator.setRepeatCount(ValueAnimator.INFINITE);                objectAnimator.setDuration(1000);                objectAnimator.start(); 

平移
1.普通动画

平移回来又回去,注意回去就已经变为负数,因为新的起点变为0

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">     <translate        android:fromXDelta="0"        android:duration="1000"        android:toXDelta="500" />     <translate        android:fromXDelta="0"        android:duration="1000"        android:startOffset="1000"        android:toXDelta="-500"/> </set>
Animation animation1 = AnimationUtils.loadAnimation(this, R.anim.translation);                image.startAnimation(animation1);

2.属性动画

 ObjectAnimator objectAnimator1 = ObjectAnimator.ofFloat(image, "translationX", 0, 300.0f, 0f);                objectAnimator1.setRepeatCount(2);                objectAnimator1.setDuration(1000);                objectAnimator1.start();

旋转
普通动画

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <rotate        android:fromDegrees="0"        android:toDegrees="360"        android:pivotX="50%"        android:pivotY="50%"/></set>
Animation animation3 = AnimationUtils.loadAnimation(this, R.anim.rotate);                animation3.setDuration(1000);                image.startAnimation(animation3);

属性动画

ObjectAnimator objectAnimator3 = ObjectAnimator.ofFloat(image, “rotation”, 0f, 360f);
objectAnimator3.setDuration(1000);
objectAnimator3.start();
大小
1.普通动画

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <scale        android:fromXScale="0"        android:fromYScale="0"        android:toXScale="1"        android:toYScale="1"        android:pivotX="50%"        android:pivotY="50%"/></set>
 Animation animation2 = AnimationUtils.loadAnimation(this, R.anim.scale);                animation2.setDuration(1000);                image.startAnimation(animation2);

2.属性动画

 ObjectAnimator objectAnimator2 = ObjectAnimator.ofFloat(image, "scaleX", 0f, 1.0f);                ObjectAnimator objectAnimator4 = ObjectAnimator.ofFloat(image, "scaleY", 0f, 1.0f);                //组合动画                AnimatorSet animatorSet = new AnimatorSet();                animatorSet.setDuration(1000);                animatorSet.play(objectAnimator2).with(objectAnimator4);                animatorSet.start();

组合动画
实现一个效果,就是先透明度变化并旋转一圈,然后平移一段距离又回来

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <alpha        android:duration="1000"        android:fromAlpha="0"        android:toAlpha="1" />     <rotate        android:duration="1000"        android:fromDegrees="0"        android:pivotX="50%"        android:pivotY="50%"        android:toDegrees="360" />    <translate        android:duration="1000"        android:fromXDelta="0"        android:startOffset="1000"        android:toXDelta="500" />    <translate        android:duration="1000"        android:fromXDelta="0"        android:startOffset="2000"        android:toXDelta="-500" /></set>
Animation animation4 = AnimationUtils.loadAnimation(this, R.anim.combination);                image.startAnimation(animation4);

属性动画

 ObjectAnimator anim_alpha = ObjectAnimator.ofFloat(image, "alpha", 0f, 1.0f);                ObjectAnimator anim_rotation = ObjectAnimator.ofFloat(image, "rotation", 0f, 360f);                ObjectAnimator anim_translation = ObjectAnimator.ofFloat(image, "translationX", 0f, 500f);                ObjectAnimator anim_translation1 = ObjectAnimator.ofFloat(image, "translationX", 500f, 0f);                //用了两个set                AnimatorSet animatorSet1 = new AnimatorSet();                animatorSet1.play(anim_alpha).with(anim_rotation);                animatorSet1.setDuration(1000);                animatorSet1.start();                 AnimatorSet animatorSet2 = new AnimatorSet();                animatorSet2.play(anim_translation).before(anim_translation1);                animatorSet2.setDuration(1000).setStartDelay(1000);                animatorSet2.start(); 

更多相关文章

  1. Android中补间动画、属性动画效果演示
  2. RelativeLayout的一些重要属性
  3. RecyclerView源码分析一之简单介绍
  4. android得到清单文件里meta标签的属性值
  5. android 源码分析
  6. android 九宫格 移动 并且删除 带动画效果
  7. Android(安卓)adb root权限
  8. 三行代码实现白天夜间模式流畅切换的实现库
  9. PullDownListView高仿微信下拉眼睛出现动画

随机推荐

  1. 目前 Android平板所面临的几个问题
  2. [置顶] Android补间动画,属性动画实现购物
  3. android4技术详解-系统配置的响应
  4. 基于Android(安卓)Studio实现的2048游戏
  5. Android(安卓)6.0新特性之WebView不能适
  6. 在 Android(安卓)上,一个完整的 UDP 通信
  7. Android(安卓)Q (十五) 企业中的 Android
  8. NDK提供的共享库(Prebuilt)
  9. 小论设计模式及在Android中的应用
  10. android binder机制之——(我是binder实例