package com.example.datalibrary.model; import android.content.Context; import android.view.MotionEvent; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; /** * 软键盘相关工具类 * Created by v_liujialu01 on 2020/3/17. */ public class KeyboardsUtils { /** * 显示软键盘 * @param view */ public static void showKeyboard(View view) { InputMethodManager imm = (InputMethodManager) view.getContext() .getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null) { view.requestFocus(); imm.showSoftInput(view, 0); } } /** * 隐藏软键盘 * @param view */ public static void hintKeyBoards(View view) { InputMethodManager manager = ((InputMethodManager) view.getContext() .getSystemService(Context.INPUT_METHOD_SERVICE)); if (manager != null) { manager.hideSoftInputFromWindow(view.getWindowToken(), 0); } } /** * 判定当前是否需要隐藏 */ public static boolean isShouldHideKeyBord(View v, MotionEvent ev) { if (v != null && (v instanceof EditText)) { int[] l = {0, 0}; v.getLocationInWindow(l); int left = l[0]; int top = l[1]; int bottom = top + v.getHeight(); int right = left + v.getWidth(); return !(ev.getX() > left && ev.getX() < right && ev.getY() > top && ev.getY() < bottom); } return false; } }