首页 > 代码库 > android隐藏输入法隐藏软键盘全解
android隐藏输入法隐藏软键盘全解
一些项目中需要隐藏输入法,比如登录页面,登录成功后需要隐藏输入法,还有比如发布某个帖子,或者消息是
发布成功后需要隐藏输入法,再比如一个页面中既有EditText 又有Spinner等控件,当你输入完就去点击
Spinner控件是软键盘是没有被隐藏的,这是是影响用户体验的。
这里我写了一个静态的方法,有需要的可以放在Util包中,需要用的时候直接调用就ok
/**
* 隐藏输入法面板
*
* @param activity
*/
public static void hideInputMethod(Activity activity) {
if (null == activity) {
return;
}
}
}
在AndroidMainfirst.xml文件中,你注册的那个Activity中加入
各值的含义:
【1】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
【2】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
【3】stateHidden:用户选择activity时,软键盘总是被隐藏
【4】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
【5】stateVisible:软键盘通常是可见的
【6】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
【7】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
【8】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
【9】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
发布成功后需要隐藏输入法,再比如一个页面中既有EditText 又有Spinner等控件,当你输入完就去点击
Spinner控件是软键盘是没有被隐藏的,这是是影响用户体验的。
这里我写了一个静态的方法,有需要的可以放在Util包中,需要用的时候直接调用就ok
/**
* 隐藏输入法面板
*
* @param activity
*/
public static void hideInputMethod(Activity activity) {
if (null == activity) {
return;
}
if (null != activity.getCurrentFocus() && null != activity.getCurrentFocus().getWindowToken())
{
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);}
}
参数是Activity,某个Activity中调用时,直接把这个Activity穿进去就行了,
例如,Util.hideInputMethod(MainActiviity.class);util是通用类名。
还有些情况下也需要隐藏输入法,比如说发布一写信息后,跳转到另一个界面时,在第二个界面居然还能看到输入法,这样的用户体验太差了
在AndroidMainfirst.xml文件中,你注册的那个Activity中加入
android:windowSoftInputMode="stateAlwaysHidden|adjustNothing"
各值的含义:
【1】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
【2】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
【3】stateHidden:用户选择activity时,软键盘总是被隐藏
【4】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
【5】stateVisible:软键盘通常是可见的
【6】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
【7】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
【8】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
【9】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
android隐藏输入法隐藏软键盘全解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。