android 捕获点击事件 我想在屏幕上实现这样的功能当我点击非编辑区时 键盘自动隐藏点击EditText文本框时键盘显示怎样实现 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设置edittext的焦点丢失事件不知道可以满足你么?你要的是点击就消失还是随着焦点消失就消失呢。点击就消失的话估计难办 就是想点击除了EditText框以外的地方就隐藏就是点击空白的地方键盘就隐藏有办法实现吗 隐藏软键盘的代码为:InputMethodManager imm = (InputMethodManager)popwindw.this.getSystemService(INPUT_METHOD_SERVICE);imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, InputMethodManager.HIDE_NOT_ALWAYS); 如果你的画面只有一个edittext,这样就好办了重写activity的ontouch接口,当收到touch事件,就调用上面的代码,软键盘就消失了。 如果你的画面比较复杂的话,感觉就不太好办了,因为点击控件的时候,activity是收不到touch事件的这个还不知道该如何更好的解决。ps:本人新人,说的不对还望见谅。 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ....... this.getWindow().getDecorView().setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { // 隐藏软键盘 ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); return false; } }); } 个人建议可以加线程 public void openKeyboard(final EditText ed) { Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { InputMethodManager m = (InputMethodManager) ed.getContext() .getSystemService(Context.INPUT_METHOD_SERVICE); m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); } }, 150); } 泪奔啊,貌似还是Android第一贴不过算鸟,正在狂塞Android的东东,Android区近期会比较常混的 Android怎样监听并打开关闭GPRS? 关于随机选择时间和拒绝安装特定软件的问题 android下的jni问题 如果读取格式化数据从文件中? cannot create /sdcard/boot.img: permission denied怎么解决 android模拟器界面太大了 对android的看法 android UI呈现 AndroidStudio 刚创建出现以下问题什么原因啊 AndroidWear开发APi调用 跪求帮忙 android 源码是如何实现搜索全部路径
就是点击空白的地方键盘就隐藏
有办法实现吗
InputMethodManager imm = (InputMethodManager)popwindw.this.getSystemService(INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, InputMethodManager.HIDE_NOT_ALWAYS); 如果你的画面只有一个edittext,这样就好办了
重写activity的ontouch接口,当收到touch事件,就调用上面的代码,
软键盘就消失了。
如果你的画面比较复杂的话,感觉就不太好办了,因为点击控件的时候,activity是收不到touch事件的
这个还不知道该如何更好的解决。
ps:
本人新人,说的不对还望见谅。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
....... this.getWindow().getDecorView().setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event)
{
// 隐藏软键盘
((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
return false;
}
});
}
public void openKeyboard(final EditText ed) {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
InputMethodManager m = (InputMethodManager) ed.getContext()
.getSystemService(Context.INPUT_METHOD_SERVICE);
m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
}, 150);
}