關(guān)鍵字:TextInputLayout、TextInputEditText、材料設(shè)計(jì)
項(xiàng)目地址:AboutMaterialDesign

效果展示.gif
是不是覺得有點(diǎn)丑? 我也覺得。。但是就這樣吧,改不動(dòng)了。
一、從官網(wǎng)看到的
- 介紹:TextInputLayout 作為 EditText 的容器,擴(kuò)展了它的三個(gè)常用功能:
- 1.Hint 的動(dòng)畫上移隱藏
- 2.EditText 的字?jǐn)?shù)上限控制和當(dāng)前字?jǐn)?shù)的顯示
- 3.錯(cuò)誤提示
- 4.密碼輸入模式
- 官方提示:子 View 使用 TextInputEditText 效果更佳

常用功能展示
根據(jù)功能,新屬性主要有以下幾個(gè):
| 屬性 | 說明 |
|---|---|
| app:Theme | 設(shè)置下劃線或其他的顏色屬性 |
| android.support.design:counterEnabled | 是否顯示計(jì)數(shù)器 |
| android.support.design:counterMaxLength | 設(shè)置計(jì)數(shù)器的最大值,與counterEnabled同時(shí)使用 |
| android.support.design:counterTextAppearance | 計(jì)數(shù)器的字體樣式 |
| android.support.design:counterOverflowTextAppearance | 輸入字符大于我們限定個(gè)數(shù)字符時(shí)的字體樣式 |
| android.support.design:errorEnabled | 是否顯示錯(cuò)誤信息 |
| android.support.design:errorTextAppearance | 錯(cuò)誤信息的字體樣式 |
| android.support.design:hintAnimationEnabled | 是否顯示hint的動(dòng)畫,默認(rèn)true |
| android.support.design:hintEnabled | 是否使用hint屬性,默認(rèn)true |
| android.support.design:hintTextAppearance | 設(shè)置hint的文字樣式(指運(yùn)行動(dòng)畫效果之后的樣式) |
| android.support.design:passwordToggleDrawable | 設(shè)置密碼開關(guān)Drawable圖片,于passwordToggleEnabled同時(shí)使用 |
| android.support.design:passwordToggleEnabled | 是否顯示密碼開關(guān)圖片,需要EditText設(shè)置inputType |
| android.support.design:passwordToggleTint | 設(shè)置密碼開關(guān)圖片顏色 |
| android.support.design:passwordToggleTintMode | 設(shè)置密碼開關(guān)圖片(混合顏色模式),與passwordToggleTint同時(shí)使用 |
二、一般使用,并沒有高級
- 注意點(diǎn):
- 看 TextInputLayout 的構(gòu)造方法發(fā)現(xiàn),上面四個(gè)功能里, hint 是默認(rèn)打開的,其他都是關(guān)閉的,需要另行打開。
- errorEnable 這個(gè)屬性在輸入正確后需要及時(shí)置為 false,否則 hint 的動(dòng)畫是失效的,其他 bug 暫時(shí)沒有發(fā)現(xiàn)
demo 只做了最基礎(chǔ)的設(shè)置,其他的屬性需要寫 style 樣式,就不再寫了。

最終.gif