2011-12-16 55 views

回答

3

SurfaceView是一個非常特殊的組件,它不容易與其他組件混合使用。主要原因是由於它的工作原理:當你使用SurfaceView時,會創建一個新窗口(默認情況下是活動的後面),並且SurfaceView中的所有渲染都將進入該窗口。 SurfaceView也會在活動中「繪製一個洞」,所以它後面的窗口將會顯示。

SurfaceView需要將窗口位置與其位置進行同步,但這並不完美。例如,如果你把一個SurfaceView放在可以滾動的東西里面,窗口就不會滾動(至少它沒有在我試過的最後一次,在Froyo時間周圍)。

請提供一些關於您正在嘗試執行的操作的更多信息。如果你只是想創建一個自定義組件,那麼更簡單的辦法是對子類進行子類化並重寫onDraw(Canvas)。

+0

@ Pal:這是否意味着我無法在屏幕底部的表面視圖頂部添加橫幅廣告的視圖? – 2011-12-16 09:44:04