Est-il possible de superposer la boîte EditText sur une GLSurfaceView sur Android?

8

J'essaie d'ajouter une boîte "PlayerName" au-dessus d'un fond de menu opengl, est-ce possible? J'ai essayé différentes mises en page, mais elles ne semblent pas permettre à une boîte EditText d'apparaître en haut

Quelle est la façon typique de faire quelque chose comme ça? Dois-je rendre manuellement le texte et gérer la saisie ou existe-t-il une meilleure méthode? Il semble qu'il devrait être possible d'afficher le EditText au-dessus de GLSurfaceView d'une manière ou d'une autre.

Ash McConnell
la source
J'ai fini par implémenter manuellement un EditBox pour gérer la saisie de texte. Ce n'était pas trop difficile mais pas aussi complet que je le souhaiterais.
Ash McConnell

Réponses:

12

J'ai trouvé la bonne façon de le faire (ce code est dans la classe Activity)

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 clé utilise la méthode addContentView sur la classe Activity pour ajouter le editBox au-dessus de GLSurfaceView.

J'espère que cela aide certains googleurs :)

Merci! Cendre

Ash McConnell
la source