前言:因为项目要求做一个类似贴吧一样的东西,可以评论,所以必不可少地需要用到软键盘的隐藏和显示。
Step 1
废话不多说,先上封装好的代码。
public class CommonUtils { public static void showSoftInput(Context context, View view){
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
//imm.showSoftInput(view, InputMethodManager.SHOW_FORCED);
} public static void hideSoftInput(Context context, View view){
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘
} public static boolean isShowSoftInput(Context context){
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
//获取状态信息
return imm.isActive();//true 打开
}
}
Step 2
怎么用呢?so easy!
1.显示出软键盘: CommonUtils.showSoftInput(context,view)
2.隐藏软键盘: CommonUtils.hideSoftInput(context,view)
3.判断软键盘是否显示: CommonUtils.isShowSoftInput(context)