2011-04-06 7 views
6

안녕하세요, 저는 기존 뷰에 GLSurfaceview를 오버레이하려고했습니다. 아래 코드는 내가 오버레이하는 방법을 보여줍니다. 유일하게 작동하지 않는 것은 glsurfaceview의 투명도입니다. 내가 밖으로 떠납니다 무엇 Overlay 투명 GLSurfaceview를 Android의 기존보기에 추가 하시겠습니까?

view = new GLSurfaceView(this); 

    view.setEGLConfigChooser(8, 8, 8, 8, 16, 0); 
    view.getHolder().setFormat(PixelFormat.TRANSLUCENT); 

    view.setRenderer(new Level1Renderer(this)); 

    setContentView(R.layout.test); 


    addContentView(view, new LayoutParams(100,400)); 

는 그때 누군가가 나를 조언을 할 수

 gl.glClearColor(0.0f, 0.0f, 0.0f, 0); 

로 내 렌더러에 배경 색상을 설정?

답변

3

코드가 정확한지, 당신은

glView.setZOrderOnTop(true); 
glView.setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY); 

을 추가 할 수 있습니다 (보기 다른 뷰에서 숨겨진 경우에 당신은 상단에 필요합니다.)

1

을 나도이 발생하는 문제가 있었다 . glSurfaceView (다른 것들도 포함)를 오버레이하는 뷰의 알파 값을 트위닝하여 내 전체 화면을 '페이드'하려고했습니다. 다른 뷰는 모두 흐리게 표시되지만 glSurfaceView는 표시되지 않습니다.

glSurfaceView에서 setZOrderOnTop(true)이 아닌 setZOrderMediaOverlay(true) ...이 발견되었습니다.

관련 문제