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.sleep(5000)メソッドを使用します。これは、実際にはこの種のことを行うためのベストプラクティスだと思います。

于 2012-02-17T23:05:36.420 に答える