实现android按下回车键便隐藏输入键盘,有两种方法:

1.)如果布局是多个EditText,为每个EditText控件设置android:singleLine=”true”,弹出的软盘输入法中回车键为next,直到最后一个获取焦点后显示为Done,点击Done后,软盘输入键盘便隐藏。或者将EditText的imeOptions属性设置android:imeOptions=”actionDone”,则不管是不是最后一个EditText,点击回车键即隐藏输入法。

2.)监听Enter的事件,编写Enter的事件响应。设置文本框的OnKeyListener,当keyCode ==KeyEvent.KEYCODE_ENTER的时候,表明Enter键被按下,就可以编写自己事件响应功能了。

点击下载源码

具体代码:

view plain copy to clipboard print ?
  1. packagelistenter.main;
  2. importandroid.app.Activity;
  3. importandroid.content.Context;
  4. importandroid.os.Bundle;
  5. importandroid.view.KeyEvent;
  6. importandroid.view.View;
  7. importandroid.view.View.OnKeyListener;
  8. importandroid.view.inputmethod.InputMethodManager;
  9. importandroid.widget.EditText;
  10. publicclassEnterListenterextendsActivity{
  11. /**Calledwhentheactivityisfirstcreated.*/
  12. @Override
  13. publicvoidonCreate(BundlesavedInstanceState){
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.main);
  16. EditTextpassword=(EditText)findViewById(R.id.password);
  17. password.setOnKeyListener(onKey);
  18. }
  19. OnKeyListeneronKey=newOnKeyListener(){
  20. @Override
  21. publicbooleanonKey(Viewv,intkeyCode,KeyEventevent){
  22. //TODOAuto-generatedmethodstub
  23. if(keyCode==KeyEvent.KEYCODE_ENTER){
  24. InputMethodManagerimm=(InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
  25. if(imm.isActive()){
  26. imm.hideSoftInputFromWindow(v.getApplicationWindowToken(),0);
  27. }
  28. returntrue;
  29. }
  30. returnfalse;
  31. }
  32. };
  33. }

android 回车键事件编程

图-1 点击回车键隐藏键盘

PS:

把EditText的Ime Options属性设置成不同的值,Enter键上可以显示不同的文字或图案
actionNone : 回车键,按下后光标到下一行
actionGo : Go,
actionSearch : 一个放大镜
actionSend : Send
actionNext : Next
actionDone : Done,隐藏软键盘,即使不是最后一个文本输入框

更多相关文章

  1. Android 事件分发机制源码
  2. android 回车键事件
  3. Android事件分发机制详解:史上最全面、最易懂
  4. 【Android 1.6】View和ViewGroup的touch事件分析和总结
  5. Android的Activity屏幕切换动画||GestureDetector、OnGestureLis
  6. Android之网络丢包事件

随机推荐

  1. Android 学习 笔记_08. 广播机制
  2. 面向 Android* Jelly Bean 4.2 的英特尔
  3. Android中TouchEvent触摸事件机制
  4. 2012第一季度智能手机发货量报表
  5. android studio打jar包、aar包
  6. Android(安卓)APK升级代码编写心得
  7. [置顶] Android实训课程之三 这次课老师
  8. 如何编译运行Android系统自带桌面Launche
  9. Android:将AVD文件搬家(修改AVD路径)
  10. [导入]2010-03-06 传智播客—Android(六)通