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