【问题标题】:Overlay Transparent GLSurfaceview onto existing view in android?将透明 GLSurfaceview 覆盖到 android 中的现有视图上?
【发布时间】:2011-04-06 10:57:50
【问题描述】:

您好,我一直在尝试将 GLSurfaceview 叠加到现有视图上。下面的代码显示了我是如何叠加的。唯一不起作用的是顶部 glsurfaceview 的透明度。

    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);

有人可以告诉我我遗漏了什么吗?

【问题讨论】:

    标签: android transparency overlay glsurfaceview


    【解决方案1】:

    代码正确,可以补充

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

    (如果您的视图被其他视图隐藏并且您需要它在顶部。)

    【讨论】:

      【解决方案2】:

      我也有这个问题。我试图通过补间覆盖 glSurfaceView (以及其他)的视图的 alpha 值来“淡化”我的整个屏幕。其他视图都消失了,但 glSurfaceView 没有。

      我发现 glSurfaceView 上的 setZOrderMediaOverlay(true)...而不是 setZOrderOnTop(true) 对我有用。

      【讨论】:

        猜你喜欢
        • 2013-07-21
        • 2012-02-05
        • 1970-01-01
        • 1970-01-01
        • 2013-05-21
        • 2011-07-09
        • 2015-08-12
        • 1970-01-01
        • 2016-01-21
        相关资源
        最近更新 更多