![](/img/trans.png)
[英]Is it possible to make a SurfaceView transparent without setZOrderOnTop(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.