簡體   English   中英

不使用setZOrderOnTop使SurfaceView透明(true)

[英]Make a SurfaceView transparent without setZOrderOnTop(true)

我有一個RelativeLayout包含一個自定義SurfaceView和其他必須在SurfaceView上繪制的元素。 我還需要SurfaceView是透明的。 我試過這個答案: 如何使surfaceview透明 但是使用setZOrderOnTop(true),RelativeLayout中SurfaceView上的其他元素顯示在Surface上方(如果表面有油漆,則部分隱藏)。

我怎么解決這個問題? 謝謝

將持有者像素格式設置為RGBA_8888,

sv.setZOrderOnTop(true);    //very much necessary

getHolder().setFormat(PixelFormat.RGBA_8888);

我使用setZOrderMediaOverlay(true)而不是setZOrderOnTop(true)取得了成功。 它允許在OpenGL SurfaceView下方和上方的兩個視圖。

這是在上下文中:

GLSurfaceView glview = (GLSurfaceView)findViewById(R.id.surface);
glview.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
glview.getHolder().setFormat(PixelFormat.RGBA_8888);
glview.setZOrderMediaOverlay(true);
glview.setEGLContextClientVersion(2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM