AndroidのGLSurfaceViewにEditTextボックスをオーバーレイすることは可能ですか?


8

openglメニューの背景の上に「PlayerName」ボックスを追加しようとしていますが、これは可能ですか?さまざまなレイアウトを試しましたが、EditTextボックスを上部に表示できないようです

このようなことをする典型的な方法は何ですか?テキストを手動でレンダリングして入力を処理する必要がありますか、それとももっと良い方法がありますか?どういうわけか、GLSurfaceViewの上にEditTextを表示できるように見えるはずです。


テキスト入力を処理するためにEditBoxを手動で実装することになりました。思ったほどフル機能ではありませんが、それほど難しくはありませんでした。
Ash McConnell

回答:


12

これを行う正しい方法を見つけました(このコードは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));

重要なのは、ActivityクラスのaddContentViewメソッドを使用して、editBoxをGLSurfaceViewの上に追加することです。

これが一部のグーグルに役立つことを願っています:)

ありがとう!灰

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.