Android常用控制元件之EditText
阿新 • • 發佈:2019-01-23
EditText
1.監聽器
addTextChangedListener :文字變化觀察者
setOnEditorActionListener: 鍵盤迴車事件
2.常用屬性
- android:password=”true” 這條可以讓EditText顯示的內容自動為星號,輸入時內容會在1秒內變成*字樣。
- android:numeric=”true” 這條可以讓輸入法自動變為數字輸入鍵盤,同時僅允許0-9的數字輸入
- android:capitalize=”abcde” 這樣僅允許接受輸入abcde,一般用於密碼驗證
- android:hint=”密碼” 設定顯示的提示資訊
- android:maxLine=”2” 設定最多多少行
- android:inputType=”number” 輸入型別
android:imeOptions=”actionDone” 鍵盤迴車的型別
下面列出比較經常用到的幾個屬性以及替換的文字外觀: actionUnspecified 未指定 EditorInfo.IME_ACTION_UNSPECIFIED. actionNone 動作 EditorInfo.IME_ACTION_NONE actionGo 去往 EditorInfo.IME_ACTION_GO actionSearch 搜尋 EditorInfo.IME_ACTION_SEARCH actionSend 傳送 EditorInfo.IME_ACTION_SEND actionNext 下一項 EditorInfo.IME_ACTION_NEXT actionDone 完成 EditorInfo.IME_ACTION_DONE
3.輸入完成,關閉輸入法
有時候輸入完成,需要關閉輸入法,不然使用者體驗效果不好
etQueryPhone.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { //關閉輸入法 InputMethodManager inputMethodManager = (InputMethodManager) QueryAddressActivity.this.getSystemService (Context.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(etQueryPhone.getWindowToken(), 0); return true; } });
4.抖動EditText
1.在res/anim下建立shake.xml檔案
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXDelta="0"
android:interpolator="@anim/cycle_7"
android:toXDelta="10">
<!--duration為抖動時間,fromXDelta,toXDelta抖動幅度,interpolator是插補器-->
</translate>
2.在res/anim下建立cycle_7.xml
<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
android:cycles="6">
<!--設定次數-->
</cycleInterpolator>
3.使用時
Animation shake = AnimationUtils.loadAnimation(QueryAddressActivity.this, R.anim.shake);
etQueryPhone.startAnimation(shake);