我正在开发一款游戏,当它弹出时我希望在软键盘上方有一个EditText位置.
以下是我在主要活动中构建视图层次结构时的代码:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
viewGroup = new RelativeLayout(this);
viewGroup.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
view = new GameView(this);
RelativeLayout.LayoutParams vLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
vLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
view.setLayoutParams(vLayoutParams);
viewGroup.addView(view);
editText = new GameEditText(this);
RelativeLayout.LayoutParams etLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
etLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
editText.setGravity(Gravity.BOTTOM);
editText.setLayoutParams(etLayoutParams);
viewGroup.addView(editText);
setContentView(viewGroup);
Run Code Online (Sandbox Code Playgroud)
这是我的AndroidManifest.xml(重要的部分):
<activity
android:name="app.ember.MainActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="sensorLandscape"
android:windowSoftInputMode="adjustResize"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
额外的信息:
有什么建议?
这是一些花哨的截图:
游戏没有键盘:

键盘和WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS设置游戏(显示器中显示图层层次结构的样子):

游戏键盘和那些标志没有设置.

这是所需的输出:

android relativelayout glsurfaceview android-layout android-edittext