Я пишу игру для Android, которая работает в полноэкранном ландшафтном режиме и имеет кнопки, расположенные внизу слева и справа внизу окна.Проблема в том, что одна из этих кнопок (на многих телефонах) находится прямо рядом с кнопкой «Меню», поэтому игрок может случайно нажать «Меню».
При кратковременном нажатии я просто приостанавливаю игру и показываювнутриигровое меню.Никаких проблем.
Но если удерживать кнопку нажатой, Android откроет программную клавиатуру в нижней половине экрана.Поскольку это мешает и совершенно бесполезно в этом упражнении, я бы хотел его отключить.
Я попробовал следующие подходы.
Через InputMethodManager
From: Скрыть программную клавиатуру при работе без каких-либо операций с клавиатурой
Так как у меня есть только один вид (a GLSurfaceView
), я попробовал это в своем Activity.onCreate()
:
InputMethodManager imm = ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE));
imm.hideSoftInputFromInputMethod(glSurfaceView.getApplicationWindowToken(), 0);
Не работает: программная клавиатура по-прежнему отображается в меню при длительном нажатии.
Через AndroidManifest.xml
От: Как отключить программную клавиатуру Androidподходя ко всему моему заявлению
Я добавил это в свой манифест:
<activity
android:windowSoftInputMode="stateAlwaysHidden"
>
Также много чего не делает.
Итак ...есть ли способ?Как?