Я испробовал каждое из предполагаемых решений, и все они компилируются, все они запускаются, но как только я касаюсь EditText (в Landscape это проблема), появляется мягкая клавиатура.
Это самая последняя попытка:
public static void forceHide(Context context, EditText editText) {
Activity activity = (Activity) context;
if (activity.getCurrentFocus() == null || !(activity.getCurrentFocus() instanceof EditText)) {
editText.requestFocus();
}
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
Это была та, которую я никогда раньше не видел, и кажется очевидным ответом: SOFT_INPUT_STATE_ALWAYS_HIDDEN.
Но это полностью игнорирует менякак и все остальные.
Кто-нибудь знает решение, которое действительно работает?
Очевидно, из истории, это вечная проблема. Тем не менее, надежда зарождается вечно, поэтому я должен спросить снова или просто сдаться.
Адаму Миллерчипу Я говорю, да, это повторение «Закрыть / скрыть программную клавиатуру Android», которая предоставляет десяткиответы, ни один из которых не работает, когда я их пробую. Помните, автор этого поста жаловался на ту же проблему. Я процитировал его жалобу, но меня упрекнули, поэтому я удалил этот текст.
Также связано блокирование SoftKeyboard EditText, но это не моя проблема. Мне нужен доступ к кнопкам, которые в альбомной ориентации клавиатуры расширяются до полной ширины, 40% - пустое черное пространство, закрывающее мои кнопки.