1. 程式人生 > >Android開發:文本控件詳解——EditText(一)基本屬性

Android開發:文本控件詳解——EditText(一)基本屬性

代碼 cap max capi sage 行數 ebe ons gin

一、簡單實例:

  技術分享圖片

  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 不進行提示
  例如,把inputType屬性設置為textPassword:   技術分享圖片

  這樣輸入的文字會視為密碼,會自動變成*號,設定為不可見,結果如下:

  技術分享圖片

  可以看到,每輸入一個字符,前面的字符就會自動不可見。

  如果設置為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不能同時存在的原因。

Android開發:文本控件詳解——EditText(一)基本屬性