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;
|
}
|
}
|