É possível sobrepor a caixa EditText em um GLSurfaceView no Android?

8

Estou tentando adicionar uma caixa "PlayerName" em cima de um plano de fundo do menu opengl, isso é possível? Tentei vários layouts, mas eles não parecem permitir que uma caixa EditText apareça na parte superior

Qual é a maneira típica de fazer algo assim? Preciso renderizar o texto manualmente e manipular a entrada ou existe uma maneira melhor? Parece que deve ser possível mostrar o EditText sobre o GLSurfaceView de alguma forma.

Ash McConnell
fonte
Acabei implementando um EditBox manualmente para lidar com a entrada de texto. Não foi muito difícil, embora não seja tão completo quanto eu gostaria.
Ash McConnell

Respostas:

12

Encontrei a maneira correta de fazer isso (este código está na 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));

A chave está usando o método addContentView na classe Activity para adicionar o editBox na parte superior do GLSurfaceView.

Espero que isso ajude alguns googlers :)

Obrigado! Cinza

Ash McConnell
fonte