¿Es posible superponer el cuadro EditText en un GLSurfaceView en Android?

8

Estoy tratando de agregar un cuadro "PlayerName" en la parte superior de un fondo del menú opengl, ¿es esto posible? He intentado varios diseños, pero no parecen permitir que aparezca un cuadro EditText en la parte superior

¿Cuál es la forma típica de hacer algo como esto? ¿Necesito renderizar manualmente el texto y manejar la entrada o hay una mejor manera? Parece que debería ser posible mostrar EditText encima de GLSurfaceView de alguna manera.

Ash McConnell
fuente
Terminé implementando un EditBox manualmente para lidiar con el ingreso de texto. No fue demasiado difícil, aunque no fue tan completo como me gustaría.
Ash McConnell

Respuestas:

12

Encontré la forma correcta de hacer esto (este código está en la clase Actividad)

view = new MyGLSurfaceView(this, gameHandler);
editBox = new EditText(context);
editBox.setText("Hello Matron");

view.setRenderer(new OpenGLRenderer(gameHandler));
setContentView(view);

addContentView(editBox, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));

La clave es usar el método addContentView en la clase Activity para agregar editBox en la parte superior de GLSurfaceView.

Espero que esto ayude a algunos googlers :)

¡Gracias! Ceniza

Ash McConnell
fuente