我正在编写一个在全屏横向模式下运行的 Android 游戏,并且按钮位于窗口的左下角和右下角。问题是这些按钮之一(在许多手机上)就在菜单按钮旁边,因此玩家可能会不小心按下菜单。
如果它被短暂按下,我只是暂停游戏并显示游戏内菜单。那里没问题。
但如果按钮被按住更长时间,Android 会在屏幕下半部分打开软键盘。由于它妨碍了它,并且在这个活动中完全没用,我想禁用它。
我尝试了以下方法。
通过 InputMethodManager
由于我只有一个视图(a GLSurfaceView
),我在我的Activity.onCreate()
:
InputMethodManager imm = ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE));
imm.hideSoftInputFromInputMethod(glSurfaceView.getApplicationWindowToken(), 0);
它不起作用:软键盘仍然出现在菜单长按上。
通过 AndroidManifest.xml
来自:如何阻止 android 软键盘出现在我的整个应用程序中
我将此添加到我的清单中:
<activity
android:windowSoftInputMode="stateAlwaysHidden"
>
也无所事事。
所以……有办法吗?如何?