Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使SurfaceView在不使用setZOrderOnTop的情况下透明(true)_Java_Android_Layout - Fatal编程技术网

Java 使SurfaceView在不使用setZOrderOnTop的情况下透明(true)

Java 使SurfaceView在不使用setZOrderOnTop的情况下透明(true),java,android,layout,Java,Android,Layout,我有一个RelativeLayout,其中包含自定义SurfaceView和其他必须在SurfaceView上绘制的元素。我还需要SurfaceView是透明的。 我试过这个答案:。但是使用setZOrderOnTop(true)时,RelativeLayout中SurfaceView上的其他元素显示在曲面上方(如果曲面上有某种颜色,则部分隐藏) 我怎样才能解决这个问题?谢谢将支架像素格式设置为RGBA_8888 sv.setZOrderOnTop(true); //very much n

我有一个RelativeLayout,其中包含自定义SurfaceView和其他必须在SurfaceView上绘制的元素。我还需要SurfaceView是透明的。 我试过这个答案:。但是使用setZOrderOnTop(true)时,RelativeLayout中SurfaceView上的其他元素显示在曲面上方(如果曲面上有某种颜色,则部分隐藏)


我怎样才能解决这个问题?谢谢

将支架像素格式设置为RGBA_8888

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

getHolder().setFormat(PixelFormat.RGBA_8888)

我成功地使用了
setzordermiaoverlay(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);

你需要什么?是否要将背景添加到surfaceview,并在surfaceview顶部添加其他视图?对我不起作用,至少对min3d lib不起作用。对OpenGL版本有什么要求吗?你能给我看一段相同的代码吗?我使用它作为:setzordermediagoverlay(true);SurfaceHolder holder=getHolder();holder.addCallback(本);holder.setFormat(像素格式.半透明);但它没有显示任何东西,事实上它超越了另一种观点。当活动开始时,我可以看到我在表面上完成的工作,但突然被我的视图覆盖了。我为那个函数调用添加了一些上下文。它位于包含surface.thanx的活动的onCreate中。要获得帮助,让我试试。