標籤:
http://www.apkbus.com/forum.php?mod=viewthread&tid=45005
| 實現android按下斷行符號鍵便隱藏輸入鍵盤,有兩種方法: 1.)如果布局是多個EditText,為每個EditText控制項設定android:singleLine=”true”,彈出的磁碟片IME中斷行符號鍵為next,直到最後一個擷取焦點後顯示為Done,點擊Done後,磁碟片輸入鍵盤便隱藏。或者將EditText的imeOptions屬性設定android:imeOptions=”actionDone”,則不管是不是最後一個EditText,點擊斷行符號鍵即隱藏IME。 2.)監聽Enter的事件,編寫Enter的事件響應。設定文字框的OnKeyListener,當keyCode ==KeyEvent.KEYCODE_ENTER的時候,表明Enter鍵被按下,就可以編寫自己事件響應功能了。 代碼源: <ignore_js_op> EnterListenter.rar (40.68 KB, 下載次數: 65) 具體代碼:
- 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;
- }
- };
- }
複製代碼<ignore_js_op>
圖-1 點擊斷行符號鍵隱藏鍵盤 PS: 把EditText的Ime Options屬性設定成不同的值,Enter鍵上可以顯示不同的文字或圖案 actionNone : 斷行符號鍵,按下後游標到下一行 actionGo : Go, actionSearch : 一個放大鏡 actionSend : Send actionNext : Next actionDone : Done,隱藏軟鍵盤,即使不是最後一個文本輸入框 |
android 斷行符號鍵事件編程