解决方案 »

  1.   

    GLSurfaceView 应该也是 SurfaceView 的子类吧, 这个肯定有一个 宽 和 高 onSurfaceChanged(GL10 gl1, int width, int height)
    这个方法应该是在这个组件的大小发生改变的时候回调, width 和 height 应该是 GLSurfaceView 组件的 改变后的宽 和 高, 这个应该是系统直接测量好 传入这个方法;  
      

  2.   

    GLSurfaceView 
    xml 文件里规定的宽高吧 代码里面获取 组件的 LayoutParams 示例 : 
    LayoutParams lp = surfaceView.getLayoutParams();
    lp.width = 1280;
    lp.height =720;
    surfaceView.setLayoutParams(lp);找了个 SurfaceView的 看看在 GLSurfaceView 能不能适用
      

  3.   

    onSurfaceChanged 这个方法是系统自动回调, 就像 Activity的 onCreate() onDestory()一样, 实现了这个方法, 但是不掉用
      

  4.   

    你也可以把想要显示的界面在surfaceview上,移位显示,比如原本顶点是(0,0) 移动到(10, 10)显示;
    先设置:
    int rect[4] = {0, h, w, -w};
    glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_CROP_RECT_OES, rect);
    然后画图
                    glDrawTexiOES(10, 10, 0, SurfScreen_w, SurfScreen_h);