您的位置:首页 > 其它

强制控制键盘显示隐藏

2018-04-12 04:59 399 查看
KeyBoardUtil .java

/**
* 操作输入法的工具类。可以方便的关闭和显示输入法.
*/
public class KeyBoardUtil {

private static KeyBoardUtil instance;
private InputMethodManager mInputMethodManager;
private static Activity mActivity;

private KeyBoardUtil() {
mInputMethodManager = (InputMethodManager) mActivity.getSystemService(INPUT_METHOD_SERVICE);

}

public static KeyBoardUtil getInstance(Activity activity) {
mActivity = activity;
if (instance == null) {
instance = new KeyBoardUtil();
}
return instance;
}

/**
* 强制显示输入法
*/
public void show() {
show(mActivity.getWindow().getCurrentFocus());
}

public void show(View view) {
mInputMethodManager.showSoftInput(view, InputMethodManager.SHOW_FORCED);
}

/**
* 强制关闭输入法
*/
public void hide() {
hide(mActivity.getWindow().getCurrentFocus());
}

public void hide(View view) {
mInputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

/**
* 如果输入法已经显示,那么就隐藏它;如果输入法现在没显示,那么就显示它
*/
public void showOrHide() {
mInputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}

}


使用.hide()会报错,报焦点获取失败时应使用 hide(View view) ,传入EditTeview控件id。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: