public void hideKeyboard(Context context, View view) {
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
// call from inside an Activity...
hideKeyboard(this, view);
hideKeyboard(this, getCurrentFocus());
hideKeyboard(this, getWindow().getDecorView());
hideKeyboard(this, findViewById(android.R.id.content));
public void hideKeyboard(View view) {
Context context = view.getContext();
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
// call from inside an Activity / Fragment
hideKeyboard(view);
// Available on Android API 30+ / AndroidX Core 1.5+
public void hideKeyboard(View view) {
ViewCompat.getWindowInsetsController(this)
.hide(WindowInsetsCompat.Type.ime());
}
// @see https://youtu.be/acC7SR1EXsI
// @see https://developer.android.com/reference/androidx/core/view/ViewCompat#getWindowInsetsController(android.view.View)
// @see https://developer.android.com/reference/androidx/core/view/WindowInsetsControllerCompat#hide(int)
// @see https://developer.android.com/reference/androidx/core/view/WindowInsetsCompat.Type#ime()
//With AndroidX:
fun View.hideKeyboard() = ViewCompat.getWindowInsetsController(this)
?.hide(WindowInsetsCompat.Type.ime())
public static void hideKeyboard(Activity activity) {
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
//Find the currently focused view, so we can grab the correct window token from it.
View view = activity.getCurrentFocus();
//If no view currently has focus, create a new one, just so we can grab a window token from it
if (view == null) {
view = new View(activity);
}
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}