Android GlSurfaceView已添加到RelativeLayout

Android GlSurfaceView已添加到RelativeLayout,android,layout,view,opengl-es,setcontentview,Android,Layout,View,Opengl Es,Setcontentview,我正在尝试学习一个关于android上opengl es 2.0的教程 让我发疯的是视图的初始部分。请参阅下面的代码: // Our OpenGL Surfaceview private GLSurfaceView glSurfaceView; @Override protected void onCreate(Bundle savedInstanceState) { // Turn off the window's title bar requestWindowFeatur

我正在尝试学习一个关于android上opengl es 2.0的教程

让我发疯的是视图的初始部分。请参阅下面的代码:

// Our OpenGL Surfaceview
private GLSurfaceView glSurfaceView;

@Override
protected void onCreate(Bundle savedInstanceState) {

    // Turn off the window's title bar
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    // Super
    super.onCreate(savedInstanceState);

    // Fullscreen mode
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    // We create our Surfaceview for our OpenGL here.
    glSurfaceView = new GLSurf(this);

    // Set our view.    
    setContentView(R.layout.activity_main);

    // Retrieve our Relative layout from our main layout we just set to our view.
    RelativeLayout layout = (RelativeLayout) findViewById(R.id.gamelayout);

    // Attach our surfaceview to our relative layout from our main layout.
    RelativeLayout.LayoutParams glParams = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
    layout.addView(glSurfaceView, glParams);
}

@Override
protected void onPause() {
    super.onPause();
    glSurfaceView.onPause();
}

@Override
protected void onResume() {
    super.onResume();
    glSurfaceView.onResume();
}
我这里没有addview进程。将内容视图设置为activity_main,然后在没有任何关系的情况下,他将glSurfaceview添加到relativeLayout


这不是应该有某种关联吗?

同意这看起来有点奇怪。首先,GLSurfaceView可以成为原始布局定义的一部分,因此您不必显式创建它。否则,我还认为布局参数将需要附加属性。我只是将setContentViewR.layout.activity_main设置为setContentViewglSurfaceView,以便查看渲染。我想知道为什么我不能将我的contentView设置为gamelayout并将我的glSurfaceView添加到这个页面上。。