1. 程式人生 > >Android EditText屬性介紹及監聽內容變化

Android EditText屬性介紹及監聽內容變化

目錄

輸入相關:

顯示相關:

特殊功能

監聽EditText內容變化的兩種方式


EditText繼承關係:EditText  TextView < View

輸入相關:

設定只接受某些字元
android:digits="123abc"
 
輸入型別:integer只能輸入整數 decimal只能輸入小數
android:numeric="integer|decimal"  

只能輸入數字
et.setInputType(InputType.TYPE_CLASS_NUMBER);

設定為電話號碼的輸入方式。
android:phoneNumber

限制輸入長度為8 
android:maxLength="8" 

顯示相關:

設定文字的最大顯示行數
android:maxLines

設定文字的最小行數
android:minLines

設定行間距。
android:lineSpacingExtra

設定文字超出TextView的寬度的情況下,是否出現橫拉條。
android:scrollHorizontally

以小點”.”顯示文字
android:password

控制元件為空時顯示的文字提示資訊
android:hint="請輸入"

提示文字顏色
android:textColorHint

被選中文字的底色
android:textColorHighlight

自動拼寫幫助
android:autoText 

控制字與字之間的間距
android:textScaleX="1.5"

設定字型,normal, sans, serif, monospace
android:typeface="monospace"

設定單行輸入
android:singleLine="true" 

當文字過長時,該控制元件該如何顯示
android:ellipsize
”start”—?省略號顯示在開頭;
”end”——省略號顯示在結尾;
”middle”—-省略號顯示在中間;
”marquee” ——以跑馬燈的方式顯示(動畫橫向移動);

特殊功能

設定輸入的型別,用於幫助輸入法顯示合適的鍵盤型別。
android:inputType

是否可編輯
android:editable
 
當文字為超連結時,點選跳轉,可選值(none/web/email/phone/map/all)
android:autoLink=”all” 

游標顯示或隱藏
android:cursorVisible

多行中指標在第一行第一位置
android:gray="top"

調整游標到最後一行
et.setSelection(et.length());

文字外觀,這裡引用的是系統自帶的一個外觀,?表示系統是否有這種外觀,否則使用預設的外觀。
android:textAppearance="?android:attr/textAppearanceLargeInverse"

指定getText()方式取得的文字類別。選項editable 類似於StringBuilder可追加字元,
也就是說getText後可呼叫append方法設定文字內容。spannable 則可在給定的字元區域使用樣式。
android:bufferType

監聽EditText內容變化的兩種方式

A:監聽 輸入結束點選鍵盤確認鍵執行的 方法

view.setOnEditorActionListener(new OnEditorActionListener() {
        
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            Log.e("輸入完點選確認執行該方法", "輸入結束");
            return false;
        }
    });

B:動態跟隨鍵盤輸入的監聽方式

view.addTextChangedListener(new TextWatcher() {
       
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // 輸入前的監聽
            Log.e("輸入前確認執行該方法", "開始輸入");
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // 輸入的內容變化的監聽
            Log.e("輸入過程中執行該方法", "文字變化");
        }
        
        @Override
        public void afterTextChanged(Editable s) {
            // 輸入後的監聽
            Log.e("輸入結束執行該方法", "輸入結束");
            
        }
    });

 


參考連結:

https://blog.csdn.net/sinat_35241409/article/details/53709537:監聽EditText內容變化

https://blog.csdn.net/android_cmos/article/details/51167753:TextView和EditView常用屬性

http://www.cnblogs.com/fuly550871915/p/4977739.html:關於EditText的一點深入的瞭解