2012-10-11 66 views
0

我打電話getLocalVisibleRect()和它返回全0和 我才知道的原因來自其他問題:的android:如何知道設置佈局完成後調用getLocalVisibleRect

「需要等到android在使用getLocalVisibleRect之前完成了佈局的設置,如果你在OnCreate中調用它,它將無法工作「。

我的問題是我怎麼知道佈局完成。我有一個lineralayout,我試圖在它上面繪製一些對象。我不想定義任何onclick監聽器。我希望佈局設置完成後立即繪製項目。

回答

1

我的問題是我怎麼知道的佈局完成

退房ViewTreeObserver

每個視圖有一個和它有一堆的回調接口,當繪圖完成時或佈局完成(見ViewTreeObserver.OnGlobalLayoutListener

事情是這樣的,將被稱爲:

ViewTreeObserver vto = myView.getViewTreeObserver(); 
vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { 
    void onGlobalLayout() { 
     //your callback code 
    } 
}); 
+0

我沒有測試它,因爲我改變了我的代碼,不再使用這個。謝謝你的答案 – png

相關問題