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

在个别时候,需要强制隐藏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-12-30 00:04:37

android 显示和隐藏输入法键盘用法介绍的相关文章

android显示和隐藏软键盘

显示键盘: EditText editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); InputMethodManager inputManager = (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); inputManager.show

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

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

Android 隐藏输入法键盘

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

Android中如何解决输入法键盘和activity页面遮挡的问题

不希望遮挡设置activity属性android:windowSoftInputMode="adjustPan" 希望动态调整高度android:windowSoftInputMode="adjustResize" 问题: 我原来的问题是,对于腾讯微博的OAuth验证webView,弹出软键盘后,输入框上移就看不到输入框了,后发现Webview放到了ScrollView中,将ScrollView改为LinearLayout问题解决了,不会在弹出软键盘后大幅滚动.不过

显示和隐藏输入法

显示输入法: imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(mEt, InputMethodManager.SHOW_FORCED); 实际使用时发现没用,但是使用view.postDelayed有效.隐藏输入法: 很多博文推荐使用下面这个,但是我试了没用 imm.hideSoftInputFromWindow(mEt.getWindowToken(), 0

Android 完美的隐藏软键盘方法

最近有这么一个需求:在点击EditText时弹出软键盘,然后在点击空白处或者其他控件的时候隐藏软键盘.这个需求在平板电脑上非常实用,因为屏幕大,用户不可能每次都点左下角去隐藏,并且点击空白处更容易. 刚开始从网上搜索,不是很理想,后来突然想到Android的事件分发机制,于是想到了实现方法: publicclassHomeActivityextendsActivity{     ......     @Override     publicboolean dispatchTouchEvent(M

[转]Android 完美的隐藏软键盘方法 点击编辑框外软键盘消失

最近有这么一个需求:在点击EditText时弹出软键盘,然后在点击空白处或者其他控件的时候隐藏软键盘.这个需求在平板电脑上非常实用,因为屏幕大,用户不可能每次都点左下角去隐藏,并且点击空白处更容易. 刚开始从网上搜索,不是很理想,后来突然想到Android的事件分发机制,于是想到了实现方法: public class HomeActivity extends Activity { ...... @Override public boolean dispatchTouchEvent(MotionE

Android 动态显示和隐藏软键盘

** * 动态设置软盘的显示和隐藏 * @author JPH */ public class MainActivity extends Activity implements OnClickListener { private InputMethodManager inputMethodManager; private Timer timer; private EditText edit; @Override protected void onCreate(Bundle savedInstan

Android -- 打开时隐藏软键盘

当activity中有edittext时,软键盘会自动弹出,有时希望隐藏软键盘(并保留edittext的focus,比如扫码)可以在activity onCreate时,使用以下代码来实现: this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);