Apakah mungkin untuk overlay kotak EditText pada GLSurfaceView di Android?

8

Saya mencoba untuk menambahkan kotak "PlayerName" di atas latar belakang menu pembuka, apakah ini mungkin? Saya telah mencoba berbagai tata letak, tetapi sepertinya tidak memungkinkan kotak EditText muncul di atas

Apa cara khas melakukan sesuatu seperti ini? Apakah saya perlu merender teks dan menangani input secara manual atau apakah ada cara yang lebih baik? Sepertinya itu mungkin untuk menunjukkan EditText di atas GLSurfaceView entah bagaimana.

Ash McConnell
sumber
Saya akhirnya menerapkan EditBox secara manual untuk berurusan dengan input teks. Itu tidak terlalu sulit walaupun tidak memiliki fitur lengkap seperti yang saya inginkan.
Ash McConnell

Jawaban:

12

Saya menemukan cara yang benar untuk melakukan ini (Kode ini ada di kelas 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));

Kuncinya adalah menggunakan metode addContentView pada kelas Activity untuk menambahkan editBox di atas GLSurfaceView.

Semoga ini bisa membantu beberapa googler :)

Terima kasih! Abu

Ash McConnell
sumber