Android隐藏输入法键盘(hideSoftInputFromInputMethod没有效果)

在个别时候,须要强制隐藏Android输入法键盘,如当前键盘正在显示,这个时候点击了側滑面板。就要强制隐藏输入法键盘。

网上常见的方法有:

1、 InputMethodManager imm = (InputMethodManager) getActivity()
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

这个是让输入法状态发生逆转,假设当前未显示则显示出来。

假设显示出来,则隐藏。因此是不符合本文所说的应用场景的。

2、imm.hideSoftInputFromInputMethod(passwdEdit.getWindowToken(), 0);

这个经本人在android4.2机子上測试无效。

3、imm.hideSoftInputFromInputMethod(getActivity().getCurrentFocus().getWindowToken(), 0);

经本人測试,依旧无效。大爷的。为了这个小功能浪费了杂家两个小时时间。

4、imm.hideSoftInputFromWindow(passwdEdit.getWindowToken(), 0);

经过測试,这是唯一有效的方法。

另外,有人说:

InputMethodManager imm = (InputMethodManager) this
.getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();
Log.i(TAG, "imm.isActive() = " + isOpen);

用以上代码来推断当前输入法键盘是否弹出可见。全然扯淡。isOpen一直为true。

特此记录。

时间: 2024-10-06 09:31:49

Android隐藏输入法键盘(hideSoftInputFromInputMethod没有效果)的相关文章

Android 隐藏输入法键盘

1 如果Activity页面有EditText,为了不影响用户体验,我们需要在进入该页面时不弹出软键盘.如何设置呢? 在mainifest.xml文件中配置Activity时,设置这两句即可: android:configChanges="orientation|keyboardHidden" android:windowSoftInputMode="adjustUnspecified|stateHidden" 2 如果在对话框中有EditText,当输入完成后自动

android 显示和隐藏输入法键盘用法介绍

在个别时候,需要强制隐藏Android输入法键盘,如当前键盘正在显示,这个时候点击了侧滑面板,就要强制隐藏输入法键盘.网上常见的方法有: 1.InputMethodManager imm = (InputMethodManager) getActivity() .getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 这个是让输入法状态发

键盘--android 隐藏系统键盘

. -----------------------------------------已验证----------------------------------- public static void closeBoard(Context mcontext) {  InputMethodManager imm = (InputMethodManager) mcontext    .getSystemService(Context.INPUT_METHOD_SERVICE);  // imm.hi

Android隐藏输入法

输入法隐藏两种方式: /** * 隐藏输入法 * * @param myActivity */ public static void hideInput(Activity myActivity,EditText et) { if(et==null) { ((InputMethodManager) myActivity.getSystemService(Activity.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(myActivity.getCur

Android:隐藏输入法软键盘

1.概述 1) 给LinearLayout 注册click 事件,点击后隐藏输入法软键盘.为什么要叫软键盘,很奇怪呢.通过Activity 的getSystem(Context.INPUT_METHOD_SERVICE) 获取到输入法的对象,接着把它隐藏掉. 2) EditText 输入的字符达到最大值时隐藏输入法软键盘.注册EditText 的TextWatcher 事件,通过判断输入的字符数达到最大长度时隐藏掉输入法软键盘. 2.Activity 后台代码 public class Edit

android隐藏输入法隐藏软键盘全解

一些项目中需要隐藏输入法,比如登录页面,登录成功后需要隐藏输入法,还有比如发布某个帖子,或者消息是 发布成功后需要隐藏输入法,再比如一个页面中既有EditText 又有Spinner等控件,当你输入完就去点击 Spinner控件是软键盘是没有被隐藏的,这是是影响用户体验的. 这里我写了一个静态的方法,有需要的可以放在Util包中,需要用的时候直接调用就ok /** * 隐藏输入法面板 * * @param activity */ public static void hideInputMetho

Android——隐藏输入法的小技巧

今天偶然在百度地图提供的DEMO里看到这样一段代码,觉得确实是个小技巧,就写下来分享一下. 针对的问题: 我们在开发android界面的时候,经常使用EditText控件,然后每次进入这个页面的时候,获取焦点,自动调用输入法.有时候我们并不需要这样,接下来就是这个小技巧的代码了,加入到这个布局第一个EditText之前即可: <!-- 隐藏输入法用 --> <LinearLayout android:layout_width="0px" android:layout_

Android隐藏软键盘

1,用java代码隐藏: /**隐藏软键盘**/        View view = getWindow().peekDecorView();        if (view != null) {            InputMethodManager inputmanger = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);            inputmanger.hideSoftInputF

Android关闭输入法键盘

有时候退出Activity时,因为前面使用了输入法,退出时候输入法键盘还没有关闭,这种效果不友好, 下面是在按后退键时候加入以下代码 if (view!= null) { InputMethodManager inputmanger = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputmanger.hideSoftInputFromWindow(view.getWindowToken(), 0);