0

こんにちは、ランナブルで開始を遅らせたいアニメーションがありますが、アニメーションがループする必要はありませんが、遅延させてから一度実行したいだけです。

ここに私のコードがあります

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_initialsetup);
        handler = new Handler();
        final Runnable r = new Runnable()
        {
            public void run() 
            {
                animations();
                handler.postDelayed(this, 1000);
            }
        };
        handler.postDelayed(r, 1000);
    }


    public void animations(){
        image = (ImageView)findViewById(R.id.su_shirts);
        AnimationMovepos = AnimationUtils.loadAnimation(this, R.anim.shirt_anim);   
        image.startAnimation(AnimationMovepos); 
    }
}
4

2 に答える 2

7

ランナブル内で、次の呼び出しでハンドラーに再度投稿しているため、ループしています。

handler.postDelayed(this, 1000);

それを削除すると、ループしません

于 2012-07-11T13:20:49.213 に答える
2

メソッドで削除handler.postDelayed(this, 1000);してみてくださいrun()

于 2012-07-11T13:21:26.063 に答える