2013-07-07 29 views
1

onsizechanged()surfacechanged()方法有什麼區別?onsizechanged和surfacechanged的區別?

onsizechanged()在視圖大小發生變化時被調用,而surfacechanged()在表面被改變時被調用...所以當發生大小改變時,兩個方法將被同時調用?

如何實際發生和當使用這兩個 ...

也ü可以提供視圖框架教程的一些鏈接比Android開發其他更好的理解???

+1

這是一個完全合法的問題。主要的問題是「onsizechanged()和surfacechanged()方法有什麼不同?」。 – RichieHH

回答

1

首先,這兩種方法是完全不同的,即使它們在surfaceview的情況下一起調用。

這是在對錶面進行任何結構變化(格式或大小)後立即調用的。此時您應該更新曲面中的圖像。此方法總是在surfaceCreated(android.view.SurfaceHolder)之後調用至少一次。

  • onSurfaceChanged爲surfaceholder接口的回調方法。許多View對象實現(GLSurfaceView,SurfaceView)。

這是在佈局期間當這個視圖的大小發生變化時調用的。如果你只是添加到視圖層次,你調用的0

舊值現在技術上都將在同一時間被調用。但如果更改表面對象的PixelFormat,則將單獨調用onSurfaceChanged