Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發中利用imeOptions屬性將鍵盤回車鍵改成搜索等功能鍵

Android開發中利用imeOptions屬性將鍵盤回車鍵改成搜索等功能鍵

編輯:關於Android編程

Android中鍵盤輸入是用戶輸入交互的最常用最直接的手段,關於鍵盤輸入,有幾點可以提高用戶使用體驗。

第一:彈出鍵盤整體頁面上移,使鍵盤不遮擋控件,需要在AndroidManifest設置對應Activity的windowSoftInputMode屬性

 

stateVisible

設置為這個屬性,可以將軟鍵盤召喚出來,即使在界面上沒有輸入框的情況下也可以強制召喚出來

 

adjustResize

這個屬性表示Activity的主窗口總是會被調整大小,從而保證軟鍵盤顯示空間。

效果如下圖所示:

\\

 

android:name=".activity.LoginActivity"
    android:windowSoftInputMode="stateVisible|adjustResize"
    android:label="@string/title_activity_login"
    android:screenOrientation="portrait">
第二:頁面中有多個輸入控件的時候,輸入控件焦點的切換需要用戶點擊控件切換的話,使用體驗不是很好,可以將鍵盤的回車鍵改成“下一步”按鈕,直接將光標焦點切換到下一個輸入控件。在布局文件中設置

 

 

android:imeOptions="actionNext"
android:singleLine="true"
即可

 

如下圖所示

\

第三:提交表單時,可以點擊提交按鈕提交,也可以最後一個EditText獲取焦點時設置鍵盤的回車鍵為發送鍵,這樣點擊了鍵盤的回車鍵就自動處理了提交表單的邏輯。

設置也很簡單,輸入控件布局文件添加兩個屬性如下:

 

android:imeOptions="actionSend"
android:singleLine="true"
在Activity中檢測到鍵盤回車鍵是否按下,從而處理響應的邏輯

 

 

mPassWord.setOnKeyListener(new View.OnKeyListener() {
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_ENTER) {
            ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
                    .hideSoftInputFromWindow(LoginActivity.this.getCurrentFocus()
                            .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
            if(TextUtil.isEmpty(mPassWord.getText().toString())){
                ToastUtil.getInstance().show("請輸入密碼");
            }else{
                login(mUserName.getText().toString(),mPassWord.getText().toString());
            }
        }
        return false;
    }
});
如下圖所示:

 

\

第四:將回車鍵改成搜索按鍵,布局文件EditText添加如下兩個屬性:

 

android:singleLine="true"
android:imeOptions="actionSearch"
回車鍵的點擊檢測和上邊的一樣

 

示例圖如下:

\

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved