Material Design學習之 EditText (功能強大,優于系統自帶,感謝“扔物線”)
來自:王亟亟的大牛之路
繼續之前的Material Design歷程,今天是EditText,素材來源于http://www.rengwuxian.com/post/materialedittext(那么代碼解釋部分大家可以看原作者的文檔,我在這里把理論知識灌輸下就OK了,作者做的很全面,我都不知道要講什么了 只能6666666)
大牛的這個庫已經有了廣泛的認知度和認可,EditText部分就拿他的作為比較推崇的演示版本。
因為大牛已經做了Jar包的支持,所以平時的拆的工作都省了,要直接使用jar包的小伙伴點這里:https://github.com/rengwuxian/MaterialEditText/releases/download/2.1.4/MaterialEditText-2.1.4.aar
Grade的點這里:
compile 'com.rengwuxian.materialedittext:library:2.1.4'
那么,理論知識開始!
文本框
文本框可以讓用戶輸入文本。它們可以是單行的,帶或不帶滾動條,也可以是多行的,并且帶有一個圖標。點擊文本框后顯示光標,并自動顯示鍵盤。除了輸入,文本框可以進行其他任務操作,如文本選擇(剪切,復制,粘貼)以及數據的自動查找功能。
文本框可以有不同的輸入類型。輸入類型決定文本框內允許輸入什么樣的字符,有的可能會提示虛擬鍵盤并調整其布局來顯示最常用的字符。常見的類型包括數字,文本,電子郵件地址,電話號碼,個人姓名,用戶名,URL,街道地址,信用卡號碼,PIN
碼,以及搜索查詢。
我們常見的文本框的一些屬性:
android:inputType="none" android:inputType="text" android:inputType="textCapCharacters" 字母大寫 android:inputType="textCapWords" 首字母大寫 android:inputType="textCapSentences" 僅第一個字母大寫 android:inputType="textAutoCorrect" 自動完成 android:inputType="textAutoComplete" 自動完成 android:inputType="textMultiLine" 多行輸入 android:inputType="textImeMultiLine" 輸入法多行(如果支持) android:inputType="textNoSuggestions" 不提示 android:inputType="textUri" 網址 android:inputType="textEmailAddress" 電子郵件地址 android:inputType="textEmailSubject" 郵件主題 android:inputType="textShortMessage" 短訊 android:inputType="textLongMessage" 長信息 android:inputType="textPersonName" 人名 android:inputType="textPostalAddress" 地址 android:inputType="textPassword" 密碼 android:inputType="textVisiblePassword" 可見密碼 android:inputType="textWebEditText" 作為網頁表單的文本 android:inputType="textFilter" 文本篩選過濾 android:inputType="textPhonetic" 拼音輸入 //數值類型 android:inputType="number" 數字 android:inputType="numberSigned" 帶符號數字格式 android:inputType="numberDecimal" 帶小數點的浮點格式 android:inputType="phone" 撥號鍵盤 android:inputType="datetime" 時間日期 android:inputType="date" 日期鍵盤 android:inputType="time" 時間鍵盤
這一系列的標簽,大牛的控件也是支持,因為他是
public class MaterialEditText extends AppCompatEditText
再上一層
public class AppCompatEditText extends EditText implements TintableBackgroundView
所以也就出現了例子里的黑點的效果
文本框和之前的一系列控件一樣也有2種主題
淺色:
//默認的一些參數 提示和輸入字體:Roboto Regular 16 sp 輸入框高度:48 dp 文本頂部和底部填充:16 dp 文本字段分隔填充:8 dp
效果:
暗色:
goole原文:http://www.google.com/design/spec/components/text-fields.html
因為jar包可能多出重復引用nineoldandroids,我還是把包拆了拆,便于Eclipse的同學用,因為用作者的jar包可能在別的庫有重復引用的可能,地址:https://github.com/ddwhan0123/BlogSample/blob/master/MaterialDesignEditText.zip