做项目比较忙,现在记录一下自己对软键盘操作总结:
1.项目要求按钮点击弹出键盘,再次点击隐藏键盘:
editText.requestFocus();//输入框获取焦点
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);//开启或者关闭软键盘
imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED);//弹出软键盘时,焦点定位在输入框中
2.要求点击按钮,键盘弹出,重复点击不隐藏(适用于点击列表每一项进行回复操作,键盘一直是弹出状态,仅仅改变 输入框内容就好等等)
editText.requestFocus();//输入框获取焦点
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, 0);//是软键盘保持弹出状态
3.要求点击空白地方,隐藏键盘:
InputMethodManager imm1 = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm1.hideSoftInputFromWindow(v.getWindowToken(), 0);//从控件所在的窗口中隐藏
4.要求有输入框的布局,进入页面默认不要弹出键盘:
在父布局中加上两个属性
android:focusable="true"
android:focusableInTouchMode="true"