Wednesday, October 20, 2010

在Android上讓兩個SurfaceView 疊在一起

在android的設計上
兩個surfaceview是不能疊在一起的

例如想要一個小小的VideoView疊在一個一直在畫圖的SurfaceView上
你會發現videoview一直是出不來的  (不過是可以有聽到video聲音)

之前發現 在WindowManager有一個hidden的field
(也太賊了吧  SDK都找不到 某天在source code才看到)

TYPE_APPLICATION_MEDIA_OVERLAY


所以magic就是
SurfaceView.setWindowType(WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA_OVERLAY);


不過後來在1.6或2.0有開一個API 在SurfaceView上
 public void setZOrderMediaOverlay
其實這就是會接回到上面講的那個hidden field

No comments: