Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Uso de la clase GLSurfaceView con diseños xml para Android

Quiero hacer uso de los diseños xml android. He puesto un glSurfaceView en un diseño de marco para utilizar en conjunción con un diseño lineal como …

<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1"> <android.opengl.GLSurfaceView android:id="@+id/surfaceviewclass" android:layout_width="match_parent" android:layout_height="match_parent"/> </FrameLayout> <LinearLayout android:id="@+id/gamecontrolslayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="5" android:background="@drawable/backdrop"> //some layout stuff </LinearLayout> <LinearLayout> 

A continuación, llamar a mi diseño como así

 setContentView(R.layout.main); GLSurfaceView glSurfaceView = (GLSurfaceView)findViewById(R.id.surfaceviewclass); 

En onCreate ();

¿Cómo puedo llamar a mi glSurfaceView para que pueda hacer uso de los diseños xml como este y también hacer referencia a mi propia clase GLSurfaceView (a continuación es el código que hace referencia a mi propia clase GLSurfaceView) …

 glSurfaceView = new MyGLSurfaceView(this); setContentView(glSurfaceView); 

¿Hay alguna manera de combinar estos dos? Quiero hacer esto porque tengo una carga de cosas que suceden en mi clase glSurfaceView como carga de archivos y eventos de toque. Y sólo he pensado en implementar este nuevo diseño

  • La previsualización de la cámara Android se extendió utilizando el código Grafika CameraCapture
  • Modificación de la salida de la cámara con SurfaceTexture y OpenGL
  • OPENGL ES no funciona: no Contexto actual
  • Producción de efectos de borrado mediante libgdx y OpenGL ES
  • ¿Cómo tratar con diferentes relaciones de aspecto en libGDX?
  • Android Matrix multiplyMM en detalle
  • Android: ¿Cómo crear VR-controles parecidos a YouTube?
  • ¿Por qué eglMakeCurrent () falla con EGL_BAD_MATCH?
  • 2 Solutions collect form web for “Uso de la clase GLSurfaceView con diseños xml para Android”

    Sólo haga referencia a su propia clase (con nombre de paquete completo) en el xml, de la misma manera que referencia android.opengl.GLSurfaceView. Asegúrese de que su subclase implementa el constructor adecuado y pasa los atributos y el contexto al padre:

     public MyGLSurfaceView(Context context, AttributeSet attrs) { super(context, attrs); 

    Entonces usted puede buscarlo usando findViewById:

     MySurfaceView glSurfaceView = (MySurfaceView)findViewById(R.id.surfaceviewclass); 

    Eso debería hacer el truco.

    Si todo corect, como usted escribe en el xml-layout, el camino completo a la Glsurfaceview-class: (and classname)

    Sólo funciona si la clase GLSurfaceView, escrita en un archivo propio. En este archivo para shure, los construcktors necesitan ser escritos correctamente.

    He leído sobre, 1 constructor para xml-refer, y uno para la comunicación entre clases. Constructor para xml-refer, y uno para la comunicación entre clases, se puede encontrar, si se escribe correctamente, dentro de GLSurfaceView. GLSurfaceView, es donde se establece el procesador, establecerlo en el constructor xml, debe ser la única manera, funciona bien. (Mostrado en la columna 1)

    Xml-constructor:

    Public MyGLSurfaceView (Contexto contextual, AttributeSet attrs) {super (context, attrs); SetEGLContextClientVersion (2);
    Renderer = new Renderer (contexto); SetRenderer (renderizador);

    Si algunos de estos pueblos, que no pueden obtener trabajo de SurfaceView, en xml-layout mineral, que compran este libro de Apress – Beginning 3D-Game-Development. No estar enojado se lastimó usted mismo. En la página 44-45 se escribe, en un archivo. Escribir GLSurfaceView, como en mi respuesta, en el propio archivo. Renderer es un archivo propio, donde: onSurfaceCreated, onSurfaceChanged, onDrawFrame .. se puede encontrar Y The MainActivity

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.