Android 如果添加其他视图,GLSURFACHEVIEW将变为黑色

Android 如果添加其他视图,GLSURFACHEVIEW将变为黑色,android,android-layout,opengl-es-2.0,Android,Android Layout,Opengl Es 2.0,我正在尝试在我的GLSurfaceView上添加android小部件,如android.widget.Button。然而,如果我这样做,GLSURFACHEVIEW会完全变黑 下面是我用来做这件事的代码: mGLView = new MyGLSurfaceView(this); Button b = new Button(this); b.setText("Hello World"); setContentView(mGLView); addContent

我正在尝试在我的GLSurfaceView上添加android小部件,如android.widget.Button。然而,如果我这样做,GLSURFACHEVIEW会完全变黑

下面是我用来做这件事的代码:

    mGLView = new MyGLSurfaceView(this);
    Button b = new Button(this);
    b.setText("Hello World");
    setContentView(mGLView);
    addContentView(b, new LayoutParams(60, 60));//comenting this 
    //line makes GLSurfaceView work as expected

我还试着将它们都放在一个布局上,但同样的问题发生了。

我通过注释这行代码成功地解决了这个问题

class MyGLSurfaceView extends GLSurfaceView {
    private final MyGLRenderer mRenderer;

    public MyGLSurfaceView(Context context) {
        super(context);
        //setLayerType(View.LAYER_TYPE_HARDWARE, null); << this line
        setEGLContextClientVersion(2);
        mRenderer = new MyGLRenderer();
        setRenderer(mRenderer);
        setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);
    }

    public boolean touchEvent(MotionEvent e) {
        if (mRenderer.scene != null) {
            mRenderer.scene.control.onTouchEvent(e);
            mRenderer.scene.onTouchEvent(e);
        }
        return false;
    }
}