Android開發中利用imeOptions屬性將鍵盤迴車鍵改成搜尋等功能鍵【提高使用者輸入體驗】
Android中鍵盤輸入是使用者輸入互動的最常用最直接的手段,關於鍵盤輸入,有幾點可以提高使用者使用體驗。
第一:彈出鍵盤整體頁面上移,使鍵盤不遮擋控制元件,需要在AndroidManifest設定對應Activity的windowSoftInputMode屬性
stateVisible
設定為這個屬性,可以將軟鍵盤召喚出來,即使在介面上沒有輸入框的情況下也可以強制召喚出來
adjustResize
這個屬性表示Activity的主視窗總是會被調整大小,從而保證軟鍵盤顯示空間。
效果如下圖所示:
<activity android:name=".activity.LoginActivity" android:windowSoftInputMode="stateVisible|adjustResize" android:label="@string/title_activity_login" android:screenOrientation="portrait"></activity>第二:頁面中有多個輸入控制元件的時候,輸入控制元件焦點的切換需要使用者點選控制元件切換的話,使用體驗不是很好,可以將鍵盤的Enter鍵改成“下一步”按鈕,直接將游標焦點切換到下一個輸入控制元件。在佈局檔案中設定
android:imeOptions="actionNext" android:singleLine="true"即可
如下圖所示
第三:提交表單時,可以點選提交按鈕提交,也可以最後一個EditText獲取焦點時設定鍵盤的Enter鍵為傳送鍵,這樣點選了鍵盤的Enter鍵就自動處理了提交表單的邏輯。
設定也很簡單,輸入控制元件佈局檔案新增兩個屬性如下:
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; } });如下圖所示:
第四:將Enter鍵改成搜尋按鍵,佈局檔案EditText新增如下兩個屬性:
android:singleLine="true" android:imeOptions="actionSearch"Enter鍵的點選檢測和上邊的一樣
示例圖如下:
相關文章
- Flutter 輸入車牌號,驗證碼鍵盤效果Flutter
- jquery中利用事件屬性which輕鬆獲取鍵盤和滑鼠鍵值jQuery事件
- 利用鍵盤鉤子開發按鍵發音程式
- android設定軟鍵盤搜尋鍵以及監聽搜尋鍵點選時發生兩次事件的問題解決Android事件
- 利用鍵盤鉤子開發按鍵發音程式 (轉)
- idea全域性搜尋的快捷鍵 idea搜尋內容快捷鍵Idea
- JAVA 接收鍵盤輸入Java
- 實現android按下Enter鍵便隱藏輸入鍵盤Android
- Android輸入鍵盤隱藏解決方案Android
- Idea全域性搜尋關鍵字Idea
- React Native 自定義鍵盤之輸入車牌號React Native
- Android高仿微信表情輸入與鍵盤輸入詳解Android
- php 之讀取鍵盤輸入PHP
- go 如何監控鍵盤輸入Go
- 限制鍵盤輸入字元/位數字元
- java鍵盤輸入和延時Java
- Java - 4 鍵盤輸入語句Java
- python-input鍵盤輸入Python
- Swift開發---UITextView通過鍵盤Return回收鍵盤SwiftUITextView
- Android開發,在Fragment中,隱藏或關閉軟鍵盤(虛擬鍵盤)的方法AndroidFragment
- 如何高效利用 GitHub 關鍵字進行搜尋Github
- 搜尋Oracle DDL中的關鍵字Oracle
- 搜尋檔案中的關鍵字
- Android 軟鍵盤蓋住輸入框的問題Android
- Linux 按鍵輸入實驗Linux
- iOS開發-鍵盤通知iOS
- 處理鍵盤輸入訊息(轉)
- QT虛擬鍵盤中拼音輸入法的使用QT
- Java中的鍵盤錄入Java
- 移動端頁面鍵盤出現“搜尋”按鍵且實現提交功能
- win10鍵盤無法輸入任何東西 win10鍵盤無法輸入的方法Win10
- android自定義鍵盤 自定義身份證鍵盤Android
- iOS 防止輸入時鍵盤覆蓋掉輸入框iOS
- 移動端頁面自定義input喚起鍵盤return,換行鍵為搜尋
- Android開發之道(7)響應鍵盤事件Android事件
- iOS 文字輸入框隨鍵盤上移iOS
- 同文輸入法更換鍵盤主題
- 【萬里征程——Windows App開發】編輯文字及鍵盤輸入WindowsAPP