實現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鍵被按下,就可以編寫自己事件響應功能了。
Android 回車鍵事件編程工程源碼下載地址:
免費下載地址在 http://linux.linuxidc.com/
用戶名與密碼都是www.linuxidc.com
具體下載目錄在 /pub/Android源碼集錦/2011年/10月/Android 回車鍵事件編程源碼/
具體代碼:
-
- package listenter.main;
-
- import android.app.Activity;
- import android.content.Context;
- import android.os.Bundle;
- import android.view.KeyEvent;
- import android.view.View;
- import android.view.View.OnKeyListener;
- import android.view.inputmethod.InputMethodManager;
- import android.widget.EditText;
-
- public class EnterListenter extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
-
- EditText password=(EditText)findViewById(R.id.password);
-
- password.setOnKeyListener(onKey);
-
- }
-
- OnKeyListener onKey=new OnKeyListener() {
-
- @Override
-
- public boolean onKey(View v, int keyCode, KeyEvent event) {
-
- // TODO Auto-generated method stub
-
- if(keyCode == KeyEvent.KEYCODE_ENTER){
-
- InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
-
- if(imm.isActive()){
-
- imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0 );
-
- }
-
- return true;
-
- }
-
- return false;
-
- }
-
- };
- }
圖-1 點擊回車鍵隱藏鍵盤
PS:
把EditText的Ime Options屬性設置成不同的值,Enter鍵上可以顯示不同的文字或圖案
actionNone : 回車鍵,按下後光標到下一行
actionGo : Go,
actionSearch : 一個放大鏡
actionSend : Send
actionNext : Next
actionDone : Done,隱藏軟鍵盤,即使不是最後一個文本輸入框