Material Design學習之 EditText (功能強大,優于系統自帶,感謝“扔物線”)

pcoait 8年前發布 | 39K 次閱讀 Android開發 移動開發

來自:王亟亟的大牛之路



繼續之前的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

這一篇主要就拆拆包,然后各種拜服原作者,一串6666666 都不知道要怎么講了,人家都做好了。。。。 TOT

 本文由用戶 pcoait 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!