关闭键盘

public class InputMethodUtil {
private InputMethodUtil() {
throw new UnsupportedOperationException("Cannot be instantiated");
}

public static void changeState(@NonNull Activity activity) {
InputMethodManager inputMethodManager = (InputMethodManager)activity.getSystemService("input_method");
if (inputMethodManager != null) {
inputMethodManager.toggleSoftInput(0, 2);
}

}

public static void show(@NonNull EditText editText) {
editText.requestFocus();
editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
InputMethodManager inputMethodManager = (InputMethodManager)editText.getContext().getSystemService("input_method");
if (inputMethodManager != null) {
inputMethodManager.showSoftInput(editText, 2);
}

}

public static void show(@NonNull Activity activity) {
InputMethodManager imm = (InputMethodManager)activity.getSystemService("input_method");
if (imm != null) {
imm.toggleSoftInput(0, 2);
}

}

public static void hide(@NonNull Activity activity) {
InputMethodManager imm = (InputMethodManager)activity.getSystemService("input_method");
if (imm != null) {
imm.hideSoftInputFromWindow(activity.getWindow().getDecorView().getWindowToken(), 0);
}

}

public static void hide(@NonNull Context context, @NonNull View view) {
InputMethodManager imm = (InputMethodManager)context.getSystemService("input_method");
if (imm != null) {
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

}

public static boolean isShowing(@NonNull Activity activity) {
View view = activity.getWindow().peekDecorView();
if (view != null) {
InputMethodManager inputMethodManager = (InputMethodManager)activity.getSystemService("input_method");
if (inputMethodManager != null) {
return inputMethodManager.isActive() && activity.getWindow().getCurrentFocus() != null;
}
}

return false;
}

public static void closeIfNeeded(@NonNull Activity activity) {
if (isShowing(activity)) {
InputMethodManager imm = (InputMethodManager)activity.getSystemService("input_method");
if (imm != null) {
imm.hideSoftInputFromWindow(activity.getWindow().getDecorView().getWindowToken(), 0);
}
}

}
}

posted on 2019-09-26 19:02  带镐伤的土豆  阅读(169)  评论(0编辑  收藏  举报

导航