È possibile sovrapporre la casella EditText su un GLSurfaceView su Android?


8

Sto cercando di aggiungere una casella "PlayerName" in cima a uno sfondo di menu aperto, è possibile? Ho provato vari layout, ma non sembrano consentire la visualizzazione di una casella EditText

Qual è il modo tipico di fare qualcosa del genere? Devo eseguire il rendering manuale del testo e gestire l'input o esiste un modo migliore? Sembra che dovrebbe essere possibile mostrare il EditText in cima al GLSurfaceView in qualche modo.


Ho finito per implementare manualmente un EditBox per gestire l'immissione di testo. Non è stato troppo difficile, sebbene non così completo come vorrei.
Ash McConnell,

Risposte:


12

Ho trovato il modo corretto di farlo (questo codice è nella 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 chiave sta usando il metodo addContentView sulla classe Activity per aggiungere editBox sopra GLSurfaceView.

Spero che questo aiuti alcuni googler :)

Grazie! Cenere

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.