2013-06-27 19 views
0

我想在創建活動後立即開始動畫。問題是我必須在屏幕上顯示所有內容後再調用方法,比如在第一次顯示後一秒鐘。在Android中顯示活動後執行操作

換句話說,我正在尋找一種方法進行的onCreate(後立即執行),但顯示在活動後:

Activity lifecicle

謝謝!

+1

這是一幅美麗的圖畫!在設置了'Views'後,在'onCreate()'或'onResume()'結尾開始它有什麼問題?你可以把它放在你自己的方法中,在任何一個方法的結尾,並且在那個方法中有你的動畫 – codeMagic

+0

它不是那樣工作的,因爲我需要在之前繪製GUI! – emiliosg

回答

1

您不能假定GUI已經繪製在onCreate()中。事實上它通常不是。

趕上當一切終於在屏幕上呈現最好的辦法是:

@Override 
public void onWindowFocusChanged (boolean hasFocus) { ... } 

把你的東西在這裏計時器。

+0

它正常工作!我認爲這個方法不僅在創建活動時執行,所以我設置了一個布爾值來啓動一次動畫 – emiliosg

1

假設您在onCreate()中設置了layout,看起來您可以在動畫對象上使用setStartTime(long millis)

public void onCreate(...) 
{ 
    super.onCreate(...); 
    setContentView(R.layout.your_layout); 
    // do whatever else you need to 
    // create your animation 
    animation.setStartTime(1000); // should start it in one second 
} 
1

您可以在onResume()完成後調用onPostResume()開始動畫。

相關問題