Я хочу, чтобы программная клавиатура не появлялась из-за действия в моем веб-представлении. Это потому, что у меня есть пользовательская «клавиатура», состоящая из кнопок под webView. Однако я не хочу полностью отключать клавиатуру для моего приложения, поскольку я должен использовать ее в разных контекстах. Он просто не должен отображаться, когда пользователь нажимает на поле ввода внутри webView. Я также не хочу, чтобы клавиатура показывалась и мгновенно снова скрывалась.
У меня сейчас есть это в моем AndroidManifest.xml
:
android:windowSoftInputMode="stateAlwaysHidden"
Я уже пытался отключить фокус веб-просмотра, но затем я также не могу вводить текст с помощью своей пользовательской «клавиатуры», так как поле ввода веб-просмотра не сфокусировано.
Я также попробовал это в onCreate
, но это не сработало (клавиатура все равно появилась):
View focusedView = this.getCurrentFocus();
if (focusedView == null)
return;
InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (manager == null)
return;
manager.hideSoftInputFromWindow(focusedView.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);