用XML文件来设置平移动画
1 <?xml version="1.0" encoding="utf-8"?> 2 <set xmlns:android="http://schemas.android.com/apk/res/android"> 3 4 <!-- 5 startOffset:动画开始前的延迟时间 6 interpolator:加速器用来设置一些平移的动画效果 7 fromXDelta:X左边的初始位置 8 toXDelta:X左边的结束位置 9 fromYDelta:Y坐标的初始位置 10 toYDelta:Y坐标的结束位置 11 --> 12 <translate 13 android:startOffset="@android:integer/config_longAnimTime" 14 android:interpolator="@android:anim/accelerate_interpolator" 15 android:fromXDelta="0" 16 android:toXDelta="0" 17 android:fromYDelta="-200" 18 android:toYDelta="800" 19 android:duration="2000" 20 android:repeatCount="2" 21 /> 22 </set>
1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 tools:context="com.test2_23.test2_23.xml_deltaActivity"> 5 6 <ImageView 7 android:id="@+id/delta_xml_img" 8 android:src="@drawable/img_bird" 9 android:layout_width="wrap_content" 10 android:layout_height="wrap_content" /> 11 </RelativeLayout>
1 public class xml_deltaActivity extends Activity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_xml_delta); 7 ImageView iv = (ImageView) findViewById(R.id.delta_xml_img); 8 //获取动画文件 9 Animation animation = AnimationUtils.loadAnimation(this,R.anim.animation_delta); 10 iv.clearAnimation(); 11 iv.startAnimation(animation); 12 } 13 }
使用Java代码的方式实现平移动画
1 public class delta_javaActivity extends Activity { 2 3 @Override 4 protected void onCreate(Bundle savedInstanceState) { 5 super.onCreate(savedInstanceState); 6 setContentView(R.layout.activity_delta_java); 7 AnimationSet set = new AnimationSet(true); 8 ImageView img = (ImageView) findViewById(R.id.delta_java_img); 9 //初始化一个平移动画使用的是TranslateAnimation类 10 //构造方法的参数分别是fromXDelta,toXDelta,fromYDelta,toYDelta 11 Animation animation = new TranslateAnimation(1080.0f,0f,0f,0f); 12 //动画的持续时间 13 animation.setDuration(2000); 14 //执行次数,不包括第一次 15 animation.setRepeatCount(2); 16 //设置加速器要实现的动画效果 17 animation.setInterpolator(this,android.R.anim.bounce_interpolator); 18 img.clearAnimation(); 19 img.startAnimation(animation); 20 } 21 }
平移动画(TranslateAnimation)
平移动画可以演示一个视图从X轴或Y轴上的位置改变的动画效果,同一时间只能操作X轴平移或者Y轴平移。
主要属性:
FromXDelta:动画X轴初始位置可以是%也可以是没有单位就是像素
toXDelta:动画X轴最终位置。
FromYDelta:动画Y轴初始位置
toYDelta:动画Y轴最终位置
duration:动画持续时间
repeatCount:动画重复次数
还有一些不是必须有但是也非常好的属性
startOffset:延迟一定时间开始动画
Interpolate:加速器,动画的速度有很多取值。
@android:anim/accelerate_interpolator:越来越快
@android:anim/ decelerate _interpolator:越来越慢
@android:anim/ accelerate_decelerate_interpolator:先快后慢
@android:anim/anticipate_interpolator:先后退一小步然后加速前进
@android:anim/overshoot_interpolator:快速到达终点超出一小步然后返回
@android:anim/anticipate_overshoot_interpolator: 到达终点超出一小步然后返回
@android:anim/bounce_interpolator:到达终点产生弹球效果
@android:anim/linear_interpolator:均匀速度
原文:http://www.cnblogs.com/androidLearn/p/5213735.html