2016-11-26 114 views
0

我有一個GifImageButton視圖。我想開始它的動畫,然後重新開始活動。重新啓動活動之前的延遲動畫

問題是我希望動畫在重新開始活動前持續3秒。

我該怎麼辦?

這是我的代碼:

myGifImageButton.setImageResource(R.drawable.animation); 
Intent intent = getIntent(); 
finish(); 
if (intent != null) { 
    startActivity(intent); 
} 

當我讀到,更好的辦法是使用一個可運行的,所以我試過,但我沒有成功的:

// start the animation 
myGifImageButton.setImageResource(R.drawable.animation); 

// delay the animation 
mHandler = new Handler(); 
final Runnable r = new Runnable() { 
    void run() { 
     handler.postDelayed(this, 3000); 
    } 
}; 
handler.postDelayed(r, 3000); 

// restart the activity 
Intent intent = getIntent(); 
finish(); 
if (intent != null) { 
    startActivity(intent); 
} 

所以如何在重新開始活動之前延遲動畫?

回答

1

Yor runnable不正確 - 您將不斷重新發布相同的無法執行任何操作的runnable。

而是嘗試這樣的事:

// start the animation 
myGifImageButton.setImageResource(R.drawable.animation); 

// delay the animation 
mHandler = new Handler(); 
final Runnable r = new Runnable() { 
    void run() { 
     // restart the activity 
     Intent intent = getIntent(); 
     finish(); 
     if (intent != null) { 
      startActivity(intent); 
     } 
    } 
}; 
handler.postDelayed(r, 3000); 
+0

王!謝謝!我現在明白了'跑'的意思.. :) –