点击屏幕其他地方让软键盘消失

/*

在获取不到焦点的时候隐藏软键盘

*/

@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (getCurrentFocus() != null
&& getCurrentFocus().getWindowToken() != null) {
SoftInputMethodManager.hide(this);
}
}
return super.onTouchEvent(event);
}

public class SoftInputMethodManager {
/**
* 隐藏软键盘
*
* @param context
*/
public static void hide(Activity context) {
InputMethodManager imm = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null) {
imm.hideSoftInputFromWindow(context.getWindow().getDecorView()
.getWindowToken(), 0);
}
}

}

时间: 2024-11-10 07:58:17

点击屏幕其他地方让软键盘消失的相关文章

点击键盘外,让软键盘消失

这个操作还是很有必要滴,,笔记也是得做滴 @Override public boolean onTouchEvent(MotionEvent event) { InputMethodManager manager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); // TODO Auto-generated method stub if(event.getAction() == MotionEvent.AC

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

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

Android点击其他任意位置收起软键盘

在Android应用开发中,经常出现这样的需求,用户在输入文字的过程中,可能不想继续输入了,通过滑动或者点击其他位置(除软键盘和EditText以外的任何位置),希望能够自动收回键盘,这个功能可能有些rom会自己实现了,但是大部分还是没有自己实现这个功能的,那么如果我们要自己实现,要如何解决呢? 首先,我们当然要先拦截其他任何的用户触摸屏幕的事件,通过重写Activity的boolean dispatchTouchEvent(MotionEvent ev);可是实现拦截用户的触摸事件.代码如下:

Android--点击EditText的时候弹出软键盘,点击EditText之外空白处软键盘消失

在android中点击EditText的时候会弹出软键盘,但当我们输入完毕或者想隐藏软键盘时,我们可以点击软键盘上的隐藏按钮,这种方法固然可行,但是为了提高用户体验,我们常常要实现这种功能:当输入完毕后想隐藏软键盘时我们通过直接点击EditText的之外的其他空白处就可以隐藏软键盘,这种做法明显比点击软键盘自身的隐藏按钮要方便的多. 要实现上述功能只需重写 public boolean onTouchEvent(MotionEvent event)方法,做相应软键盘隐藏的处理操作即可. Inpu

【转】iOS 上常用的两个功能:点击屏幕和return退出隐藏键盘和解决虚拟键盘挡住UITextField的方法

iOS上面对键盘的处理很不人性化,所以这些功能都需要自己来实现, 首先是点击return和屏幕隐藏键盘 这个首先引用双子座的博客 http://my.oschina.net/plumsoft/blog/42545,他的文章写的很好,对大家的理解很有好处. 在 iOS 程序中当想要在文本框中输入数据,轻触文本框会打开键盘.对于 iPad 程序,其键盘有一个按钮可以用来关闭键盘,但是 iPhone 程序中的键盘却没有这样的按钮,不过我们可以采取一些方法关闭它.例如,我们可以实现按下 Rerun (有

微信漂流瓶点击屏幕任何地方 title隐藏||显示代码

点击前.... 点击后... 实现代码: private void full(boolean enable) { if (enable) { WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; getWindow().setAttributes(lp); getWindow().addFlags(WindowMana

MBProgressHUD 显示后,为何不能点击屏幕其他地方

解决办法: hud.userInteractionEnabled= NO;  就是这么简单粗暴!这个问题 我一定要发到首页候选区! /****************************************此处不用看,只是为了凑够150字**********************************************/

移动端弹出软键盘导致input光标和点击事件错位问题

我遇到的问题:在微信浏览器里,点击蒙层的input框,弹出软键盘,蒙层被顶上去,同时input的焦点和button的点击事件也被顶上去了,软键盘消失,蒙层回到原位,但是点击input和button均没反应,点击蒙层被顶上去的位置有反应,因为input的焦点和button的点击事件没回到原位.这个问题出现在ios中,android手机没问题. 以下是一位大佬写的解决方法,解决了我的问题. 原文地址:https://blog.csdn.net/Doubleu_/article/details/865

ios上有时候提交按钮点击两次才可以取消输入框软键盘

ios上有时候提交按钮点击两次才可以取消输入框软键盘,点击第一次软键盘消失,点击第二次输入框页面消失,这样用户体验不好.我的做法是用 touchstart 代替click来处理 反应快,但是有时候会出现 输入框消失后 软键盘又弹出来了,得手动关闭软键盘才可以,这个时候给输入框一个主动取消焦点的事件就可以解决 $("..").blur();