【功能说明】该方法用于设置一个动画执行的启动时间,单位为毫秒。系统默认当执行start方法后立刻执行动画,当使用该方法设置后,将延迟一定的时间再启动动画。
【基本语法】public void setStartOffset (long startOffset)
其中,参数startOffset为动画的启动时间,单位为毫秒(ms)。
【实例演示】下面通过代码来演示如何更改动画的启动时间。
public class firstActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { //重载onCreate方法 super.onCreate(savedInstanceState); setContentView(R.layout.main); final ImageView image=(ImageView)findViewById(R.id.imageView1); //ImageView对象 Button btn1=(Button)findViewById(R.id.button1); //按钮对象 Button btn2=(Button)findViewById(R.id.button2); final Animation translateAnimation=new TranslateAnimation(0,200,0,200); //移动动画效果 btn1.setOnClickListener(new View.OnClickListener() { //设置监听器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.setDuration(3000); //设置动画持续时间 translateAnimation.setStartOffset(3000); //设置启动时间 image.setAnimation(translateAnimation); //设置动画效果 translateAnimation.startNow(); //启动动画 } }); btn2.setOnClickListener(new View.OnClickListener() { //设置监听器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.cancel(); //取消动画执行 } }); } }
在这段代码中,首先初始化了一个移动的动画效果translateAnimation。然后,在按钮监听器中,通过setDuration方法设置动画的 持续时间,通过setStartOffset方法设置动画的启动时间,最后使用startNow方法启动动画效果。读者执行这段代码,当点击"执行动画" 按钮时,将等待3秒之后,图片才开始移动。