1. 程式人生 > >android 獲取鍵盤完成按鈕事件,回車鍵

android 獲取鍵盤完成按鈕事件,回車鍵

首先設定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屬性

<EditText
android: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); }