android中怎么用代码实现 隐藏 软键盘
2个回答
2016-11-15 · 知道合伙人软件行家
关注
展开全部
在Android开发中,经常会有一个需求,做完某项操作后,隐藏键盘,也即让Android中的软键盘不显示。今天,和大家分享如何利用代码来实现对Android的软件盘的隐藏、显示的操作,并给出Demo参考。
1.切换显示软键盘
这个效果是:如果有软键盘,那么隐藏它;反之,把它显示出来。代码方法如下:
//1.得到InputMethodManager对象
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
//2.调用toggleSoftInput方法,实现切换显示软键盘的功能。
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
2.显示软键盘
//1.得到InputMethodManager对象
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
//2.调用showSoftInput方法显示软键盘,其中view为聚焦的view组件
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
3.隐藏软键盘
//1.得到InputMethodManager对象
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
//2.调用hideSoftInputFromWindow方法隐藏软键盘
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘
4.获取输入法打开的状态
//1.得到InputMethodManager对象
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
//获取状态信息
boolean isOpen=imm.isActive();//isOpen若返回true,则表示输入法打开
1.切换显示软键盘
这个效果是:如果有软键盘,那么隐藏它;反之,把它显示出来。代码方法如下:
//1.得到InputMethodManager对象
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
//2.调用toggleSoftInput方法,实现切换显示软键盘的功能。
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
2.显示软键盘
//1.得到InputMethodManager对象
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
//2.调用showSoftInput方法显示软键盘,其中view为聚焦的view组件
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
3.隐藏软键盘
//1.得到InputMethodManager对象
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
//2.调用hideSoftInputFromWindow方法隐藏软键盘
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘
4.获取输入法打开的状态
//1.得到InputMethodManager对象
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
//获取状态信息
boolean isOpen=imm.isActive();//isOpen若返回true,则表示输入法打开
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/**
* 隐藏软键盘
* @param view 软键盘属于哪个View 的。activity可直接传递null
*/
protected void hideKeyBoard(View view) {
if (getWindow().getAttributes().softInputMode != WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN) {
InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
if (view != null){
view = getCurrentFocus();
}
if (view != null) {
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
}
* 隐藏软键盘
* @param view 软键盘属于哪个View 的。activity可直接传递null
*/
protected void hideKeyBoard(View view) {
if (getWindow().getAttributes().softInputMode != WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN) {
InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
if (view != null){
view = getCurrentFocus();
}
if (view != null) {
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询