您的位置:首页 > 移动开发 > Android开发

Android 键盘的显示和隐藏

2016-12-19 20:16 549 查看
工作中经常有同事询问如何隐藏和显示键盘。三星内部其实有自己写的API,调用方便、灵活,但是研究了下InputMethodManager,里面是有原生的方法可以调用的。

通过查询和写demo测试,如下方法测试有效:

InputMethodManager imm = (InputMethodManager) getSystemService( Context.INPUT_METHOD_SERVICE);
//隐藏键盘
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
//弹出键盘 注:这里的view要是弹出键盘的宿主view imm.showSoftInput(View,InputMethodManager.SHOW_FORCED);


Demo内容如下:

show = (Button) findViewById(R.id.show);
hide = (Button) findViewById(R.id.hide);
final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
show.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
//hello.requestFocus();//有blog提到,如果弹出键盘不好用,可以先requestFocus,确认焦点在编辑框
imm.showSoftInput(hello,InputMethodManager.SHOW_FORCED);
}
});
hide.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
imm.hideSoftInputFromWindow(hello.getWindowToken(), 0);
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息