EditText键盘如何隐藏

来源:互联网 发布:淘宝店铺如何还原 编辑:程序博客网 时间:2024/04/24 09:35

首先我的这个方法只适用于部分情况,更复杂的情况请自行考虑

例如:在输入框中输入完数据后,点击提交按钮,键盘此时隐藏。

  1. if(inputMethodManager.isActive(editText)){  
  2.     Toast.makeText(Main3Activity.this"显示", Toast.LENGTH_SHORT).show();  
  3. }else {  
  4.     Toast.makeText(Main3Activity.this"没显示", Toast.LENGTH_SHORT).show();  
  5. }  
这个isActive方法,会在editText有焦点的时候返回true,没有焦点的时候返回false。
第一步:我们要做的就是让EditText的父布局能够获取焦点
xml方法:
 android:focusable="true" android:focusableInTouchMode="true"
代码方法:
.setFocusable(true);
.setFocusableInTouchMode(true);
第二步:如果你也想在第一次进入界面的时候隐藏键盘,那么在onCreate()方法中设置 父布局.requestFocus();
 此时系统会自动隐藏键盘
第三步:当我们做完一个动作后(例如点击提交按钮后)希望键盘隐藏,那么下面代码就是做这个
  1. InputMethodManager imm =(InputMethodManager)getSystemService(MainActivity.INPUT_METHOD_SERVICE);
  2. //如果你的活动不是MainActivity,请自行更改
  3. if (imm.isActive(edit_text))
  4. {
  5. //此时EditText肯定是有焦点的,所以下面代码会得到执行
  6.     imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
  7. }
  8. edit_layout.requestFocus(); 
//可能有些人会好奇,EditText失去焦点的时候也能在编辑框中输入数据
//这个时候点击提交按钮,那么岂不是键盘会弹出,这就是第二步的意义所在


原创粉丝点击