您的位置:首页 > 其它

总结键盘显示隐藏几种方案

2015-03-21 22:20 232 查看

总结键盘显示隐藏几种方案

一、普通方式

这种方式比较普遍,是通过InputMethodManager


自动显示隐藏(之前显示则隐藏,之前隐藏则显示)

InputMethodManager imm =(InputMethodManager)
getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0,
InputMethodManager.HIDE_NOT_ALWAYS);


强制显示隐藏

显示:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);


隐藏:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);


缺点:只能被动的修改状态。无法预先控制,在点击EditText时,总会自动弹出软键盘

二、修改Flag

强制隐藏(可以预先隐藏,点击EditText仍不会弹出)

getWindow().addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);


缺点:会使当前界面中的所有键盘弹出时间失效,无法针对某个EditText

恢复

getWindow().clearFlags(
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  软键盘 强制隐藏