在布局文件中EditText控件中加入属性:
android:imeOptions="actionDone" imeOptions还有很多其他参数,比如搜索,前往...等等,依据需要选择。
一般在xml文件加入了这个属性就可以达到键盘隐藏的效果的,但有些第三方输入法问题,并不一定有效果,这时候可以再试下以下方法。
在代码中:
edtiText = (EditText) view.findViewById(R.id.input_text);
edtiText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm.isActive()) {
imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0);
}
}
return false;
}
});
进页面自动弹出软键盘:
在布局文件中EditText控件中加入:
android:focusable="true"
android:focusableInTouchMode="true"
对于大多数情况下,仅仅加入这些可能并不能自动弹出软键盘,还需要在代码中加入:
mGroupNameET = (EditText) findViewById(R.id.group_name_et);
//自动弹出软键盘
mGroupNameET.requestFocus();
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager) mGroupNameET.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
}, 270); //270为延迟时间
再页面加载后270ms自动打开软键盘。