0

当应用程序打开时,我希望图像立即出现并保持静止 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);
    }  
}
4

3 回答 3

1

我想不出在任何情况下创建一个线程只是为了睡眠一段时间是个好主意。相反,尝试postDelayed

img.postDelayed(new Runnable() {
    public void run() {
        TranslateAnimation anim = new TranslateAnimation(0,-300,0,0);
        anim.setDuration(2000);
        img.startAnimation(anim);
    }
}, 5000);
于 2012-02-17T23:27:49.477 回答
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();
于 2012-02-17T23:10:12.457 回答
0

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

于 2012-02-17T23:05:36.420 回答