Android setStartOffset方法:设置启动时间

【功能说明】该方法用于设置一个动画执行的启动时间,单位为毫秒。系统默认当执行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秒之后,图片才开始移动。

posted @ 2015-01-19 16:22  星辰之力  阅读(3649)  评论(0编辑  收藏  举报