#android #android-softkeyboard
#Android #android-программная клавиатура
Вопрос:
Есть ли способ показать клавиатуру в Activity выше версии Android O? У меня есть следующий код :
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
Это работает «только» для версии ниже Android O.
Ответ №1:
У меня есть 2 варианта для вас. Во-первых, вы можете использовать requestFocus
editText.requestFocus();
Во-вторых, вы можете выполнить этот код, чтобы показать клавиатуру для определенного EditText
android.view.inputmethod.InputMethodManager imm = (android.view.inputmethod.InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, android.view.inputmethod.InputMethodManager.SHOW_IMPLICIT);
Дополнительная точка, используйте это, чтобы скрыть клавиатуру:
android.view.View view = this.getCurrentFocus();
android.view.inputmethod.InputMethodManager imm = (android.view.inputmethod.InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
Примечание: каждый код здесь протестирован и работает.
Ответ №2:
Чтобы показать клавиатуру,
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
Если вы хотите сосредоточиться на редактируемом тексте, используйте
editText.requestFocus();
Чтобы скрыть клавиатуру,
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(editText.getWindowToken(), 0);
Комментарии:
1. это устарело