希望我的Android应用程序中的图像暂停5秒钟,然后向左滑动屏幕

时间:2012-02-17 23:02:04

标签: android animation translate-animation

当应用程序打开时,我希望图像立即显示并保持静止5秒钟,然后在这5秒后图像向左滑动屏幕,而我的图像显示为我想要的但是只要它出现它立即开始滑出屏幕,我想在代码中实现这个动画,而不是在xml中。感谢任何建议,谢谢。

package your.package2.test3;

import android.app.Activity;
import android.os.Bundle;
import android.view.animation.AnimationSet;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;

public class Test3Activity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ImageView img = (ImageView) findViewById(R.id.img1);

    AnimationSet animSet = new AnimationSet(true);

    TranslateAnimation Anim1 = new TranslateAnimation(0,0,0,0);
    Anim1.setDuration(5000);
    TranslateAnimation Anim2 = new TranslateAnimation(0,-300,0,0);
    Anim2.setDuration(2000);
    animSet.addAnimation(Anim1);
    animSet.addAnimation(Anim2);
    img.startAnimation(animSet);
    }  
}

3 个答案:

答案 0 :(得分:1)

我无法想到创建一个线程只是为了睡一段时间的任何情况都是个好主意。相反,请尝试postDelayed

img.postDelayed(new Runnable() {
    public void run() {
        TranslateAnimation anim = new TranslateAnimation(0,-300,0,0);
        anim.setDuration(2000);
        img.startAnimation(anim);
    }
}, 5000);

答案 1 :(得分:0)

使用线程显示图像和Thread.sleep(5000)方法。我认为这实际上是做这种事情的最佳做法。

答案 2 :(得分:0)

    Thread timer = new Thread() {
        public void run(){
            try{
                sleep(5000);
            } catch (InterruptedException e){
                e.printStackTrace();
            }finally{
                Intent openStartingPoint = new Intent("your.package2.test3.A New Class");
                startActivity(openStartingPoint);
            }
        }
    };
    timer.start();