6

我正在尝试在 andengine 游戏之上创建一个 EditText 以充当游戏中的聊天框。我使用的方法在 Android 2.2.1 IDEOS 2, Emulator Android 2.1, Emulator Android 2.2, Emulator Android 2.3 上运行良好

更新 25/APR/2012:最近在三星 Galaxy S SGH-T959 Android 2.1-Update1 上进行了测试,除了轻微的对齐问题外,它工作正常,这是三星 Android 2.3 的问题。

以下设备不会在 andengine 游戏活动的顶部显示 EditText 控件:

  1. 三星 Y S5360 安卓 2.3.6
  2. 三星 Galaxy 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 和模拟器,但不适用于三星 Galaxy 551、三星 Galaxy S 5360,其他设备需要测试。请帮忙。

上面的方法在这里描述:AndEngine forum, display UI in andengine 建议了另一种方法,一个弹出对话框将在这里显示 EditText AndEngine helper class Input Text,但这不适合我的用例。

想使用标准的 EditText,否则唯一的出路是在 AndEngine 中实现自己的假键盘和假输入精灵,限制硬件和国际键盘可能不可用。任何帮助将不胜感激。

4

0 回答 0