ゲーム内チャットボックスとして機能するために、andengine ゲームの上に EditText を作成しようとしています。私が使用している方法は、Android 2.2.1 IDEOS 2、Emulator Android 2.1、Emulator Android 2.2、Emulator Android 2.3 で正常に動作します。
2012 年 4 月 25 日更新: 最近、Samsung Galaxy S SGH-T959 Android 2.1-Update1 でテストされました。マイナーな位置合わせの問題を除いて正常に動作しています。これは、Samsung の Android 2.3 の問題ですか。
次のデバイスは、andengine ゲーム アクティビティの上にEditText コントロールを表示しません。
- サムスン Y S5360 アンドロイド 2.3.6
- サムスンギャラクシー 551 アンドロイド 2.3.6
これは、私がゲーム アクティビティで行っていることです。
chatEditText = new EditText(this);
chatEditText.setSingleLine(true);
chatEditText.setId(1);
chatEditText.setHint(" ");
tableLayout = new TableLayout(this);
tableLayout.setVerticalGravity(Gravity.BOTTOM);
tableLayout.setLayoutParams(new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
tableLayout.setHorizontalGravity(Gravity.CENTER_HORIZONTAL);
tableLayout.setPadding(25, 25, 25, 308);
tableLayout.addView(chatEditText);
LayoutParams lp = new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
this.addContentView(tableLayout, lp);
tableLayout.setVisibility(View.GONE);
コントロールを表示/非表示にするために、ハンドラーを使用して、必要に応じてその可視性を View.VISIBLE または View.GONE に設定しています。
上記は、IDEOS 2 Android 2.2.1 およびエミュレーターでは機能しますが、Samsung Galaxy 551、Samsung Galaxy S 5360 では機能しません。他のデバイスをテストする必要があります。助けてください。
上記の方法はここで説明されていました: AndEngine フォーラム、andengine で UI を表示する 別の方法が提案されました。ここでは、ポップアップ ダイアログ ボックスが EditText here AndEngine ヘルパー クラス Input Textを表示しますが、それは私のユースケースには適していません。
標準の EditText を使用したいのですが、それ以外の唯一の方法は、独自の偽のキーボードと偽の入力スプライトを AndEngine に実装することです。ただし、ハードウェア キーボードと国際キーボードが使用できない場合があります。どんな助けでも大歓迎です。