編輯:關於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"回車鍵的點擊檢測和上邊的一樣
示例圖如下:
有的時候用多了Android的一些開源框架用多了,就會把最基礎的一些東西給忘了,今天來重溫一下Android的網絡基礎。包括這個Http協議的網絡請求,JSON解析。使用
1、ZIP文件目錄遍歷簡介因為ZIP壓縮包文件中允許存在“../”的字符串,攻擊者可以利用多個“../”在解壓時改變ZIP
在5.2.1節和5.2.2節介紹了<a>標簽以及TextView自動識別的特殊文本(網址、電話號、Email等),這些都可以通過單擊來觸發不同的動作。雖然這些
Binder概述Binder是一種Android實現的IPC,用於進程間通信。通常Linux系統提供好幾種進程間通信的方式,比如1) Message Queue :把進程