一、簡單實例:

EditText輸入的文字樣式部分的屬性,基本都是和TextView中的屬性一樣。
除此之外,EditText還有自己獨有的屬性。
二、基本屬性:
| hint | 輸入框顯示的提示文本 |
| textColorHint | 輸入框顯示的提示文本的顏色 |
| inputType | 限制用戶的輸入類型 |
| capitalize | 英文大寫設置 |
| minLines | 最小行數 |
| maxLines | 最大行數 |
| SingleLine | 單行不換行 |
id等屬性都在TextView中出現過,就不再贅述。
1、hint:該輸入框顯示的提示文本
android:hint是文本框中初始顯示的用來提示用戶輸入的屬性,在用戶點擊輸入框開始輸入時就會消失。
android:textColorHint這個屬性則是用來設置提示文本的字體顏色。
<EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:height="40sp" android:layout_centerVertical="true" android:background="@color/colorSlateGray" android:hint="@string/username" android:textColor="@color/colorWhite" android:textColorHint="@color/colorWhite" />
這段代碼的效果如下:

點擊輸入框開始輸入時,提示文字就會消失:

2、inputType:限制用戶的輸入類型
值如下:
| text | 普通字符 |
| textCapCharacters | 普通字符 |
| none | 普通字符 |
| textCapSentences | 字符串中的第一個字母大寫 |
| textCapWords | 字符串中的每個單詞的首字母大寫 |
| textMultiLine | 多行輸入 |
| textImeMultiLine | 輸入法多行 |
| textUri | 格式為:URI |
| textShortMessage | 格式為:短消息 |
| textShortMessage | 格式為:長消息 |
| textEmailAddress | 格式為:電子郵件地址 |
| textEmailSubject | 格式為:郵件主題 |
| textPostalAddress | 格式為:郵政 |
| textPersonName | 格式為:姓名 |
| textPassword | 格式為:不可見密碼 |
| textVisiblePassword | 格式為:可見密碼 |
| textFilter | 格式為:文本篩選 |
| textWebEditText | 格式為:作為網頁表單的文本 |
| number | 格式為:數字 |
| numberSigned | 格式為:有符號數字 |
| numberDecimal | 格式為:浮點數 |
| textPhonetic | 格式為:拼音輸入 |
| phone | 鍵盤為:撥號 |
| date或者datetime | 鍵盤為:日期 |
| time | 鍵盤為:時間 |
| textAutoCorrect | 前兩個自動完成 |
| textAutoComplete | 前兩個自動完成 |
| textNoSuggestions | 不進行提示 |
這樣輸入的文字會視為密碼,會自動變成*號,設定為不可見,結果如下:

可以看到,每輸入一個字符,前面的字符就會自動不可見。
如果設置為datetime,則是日期鍵盤:


3、capitalize:英文大寫設置
| sentences | 字符串的第一個字母大寫 |
| words | 字符串中用空格區分單詞,每個單詞的首字母大寫 |
| characters | 字符串中每一個英文字母都大寫 |
這個屬性基本上不怎么使用了。

4、行數限制:
minLines:設置EditText控件的最小行數,使用這個屬性的時候要去掉android:height,不能設置固定值,且不設置inputType屬性,這樣才能看出效果


最小行數是2,則輸入框的初始大小就是兩行的大小,超過兩行時也會自動擴張。
maxLines:設置EditText控件的最大行數,使用這個屬性的時候要去掉android:height,不能設置固定值,且不設置inputType屬性,這樣才能看出效果

一行時:

四行時:

七行時(超出最大行數4):

文字會自動上移,只保留四行。
singleLine:如果設置為true,則該輸入框為單行輸入不可換行。

其實使用了inputType屬性之后,也是默認為單行輸入不換行,這就是為什么inputType和minLines、maxLines不能同時存在的原因。
