1. 程式人生 > >EditText切換輸入法軟體的enter按鍵,實現跳到下一個EditText或搜尋等

EditText切換輸入法軟體的enter按鍵,實現跳到下一個EditText或搜尋等

首先,輸入法軟體的enter鍵其實是可以變的,可以變next,搜尋等等

 例如:實現一個登陸介面

 程式碼如下: 

<RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"><EditText

android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="username"
android:imeOptions="actionNext"
android:nextFocusForward="@+id/et_password"
android:singleLine="true"
/>
<EditText
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="password"
android:imeOptions="actionDone"
android:layout_below="@id/et_username"
android:nextFocusForward

="@+id/btn_login"
android:singleLine="true"
/>
<Button
android:id="@+id/btn_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="login"
android:layout_below="@id/et_password"
/>
</RelativeLayout>

 

android:imeOptions="actionNext"   //這個屬性可以指定輸入法enter的功能,actionNext - 下一步    actionSearch 等等

  android:nextFocusForward="@+id/et_password" //指定下一個view 取得焦點

  這樣當你在輸入username 後,按下輸入法的下一步,就會調到password的輸入框裡。 (這個兩個屬性是父類view的屬性,so)

 

  當你輸完密碼,password的EditText裡有屬性android:imeOptions="actionDone",你也可以實現對它監聽

  程式碼如下:

EditText etPassWord = (EditText) findViewById(R.id.et_password);
etPassWord.setOnEditorActionListener(new TextView.OnEditorActionListener() {
  @Override
  public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  if(actionId == EditorInfo.IME_ACTION_DONE){
    Toast.makeText(MainActivity.this,"Login",Toast.LENGTH_SHORT).show();
    //...實現login功能
  }
    return false;
  }
});

 

這是我釋出的第一個技術部落格,希望大家喜歡,有什麼問題,也希望大家多多交流,共同進步。

以後還會有更多的關於android技術的文章。