当应用程序打开时,我希望图像立即出现并保持静止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);
}
}
我想不出在任何情况下创建一个线程只是为了睡眠一段时间是个好主意。相反,请尝试postDelayed
:
img.postDelayed(new Runnable() {
public void run() {
TranslateAnimation anim = new TranslateAnimation(0,-300,0,0);
anim.setDuration(2000);
img.startAnimation(anim);
}
}, 5000);
使用Thread来显示图像和Thread.sleep(5000)方法。我认为这实际上是做这类事情的最佳实践。
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();