android 獲取鍵盤完成按鈕事件,回車鍵
阿新 • • 發佈:2019-01-10
首先設定EditText的回車屬性
drawable檔案
@drawable/editcolor
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <size android:width="2dp" /> <solid android:color="@color/white" /> </shape>
EditText屬性
<EditTextandroid:id="@+id/login_pasw" android:layout_width="match_parent" android:layout_height="20dp" android:layout_marginLeft="6dp" android:background="@null" android:gravity="center_vertical" android:hint="@string/inputpassword" android:imeOptions="actionDone"//回車屬性為完成 android:textColor="@color/white" android:textColorHint="@color/white" android:textCursorDrawable="@drawable/editcolor" android:textSize="16sp" />
activity完整程式碼
@Override public boolean dispatchKeyEvent(KeyEvent event) { //這裡注意要作判斷處理,ActionDown、ActionUp都會回撥到這裡,不作處理的話就會呼叫兩次 if (KeyEvent.KEYCODE_ENTER == event.getKeyCode() && KeyEvent.ACTION_DOWN== event.getAction()) { String name = login_name.getText().toString(); String passw = login_pasw.getText().toString(); if (TextUtils.isEmpty(name)) { // ToastUtil.showInfo(this, "請輸入使用者名稱", Toast.LENGTH_LONG); Toast.makeText(this, "請輸入使用者名稱", Toast.LENGTH_SHORT).show(); return false; } if (TextUtils.isEmpty(passw)) { // ToastUtil.showInfo(this, "請輸入密碼", Toast.LENGTH_LONG); Toast.makeText(this, "請輸入密碼", Toast.LENGTH_SHORT).show(); return false; } logtest(name, passw);//登入方法 //處理事件 return true; } return super.dispatchKeyEvent(event); }