參考文檔
https://github.com/rengwuxian/MaterialEditText
說明文檔
http://www.rengwuxian.com/post/materialedittext
基本使用
在布局文件中把 EditText 替換為 com.rengwuxian.materialedittext.MaterialEditText 就行了。MaterialEditText 是直接繼承的 EditText 汤求,沒有加入一些 Wrapper Layout 型檀, 因此多數(shù)情況下你不需要修改 java 文件。
-
自定義顏色
Base Color 被用作背景線的顏色侈沪、主字體的顏色(透明度被重置為87%)和提示字體的顏色(透明度被重置為26%)。你可以使用 app:met_baseColor
(xml) 或者 setBaseColor()
(java) 來指定 Base Color 醋奠。Base Color 的默認值為純黑贱纠。---- <code>字體和其他的默認顏色</code>
app:met_baseColor="#0056d3"
Primary Color 被用作激活狀態(tài)的輸入框背景色、高亮的Floating Label色和底部省略號的顏色霞玄。你可以使用 app:met_primaryColor
(xml) 或者 setPrimaryColor()
(java) 來指定 Primary Color骤铃。如果沒有設置Primary Color,默認將使用 Base Color 來替代坷剧。app:met_baseColor="#0056d3" app:met_primaryColor="#982360"
底部省略號
當設置顯示底部省略號后惰爬,控件會在文字向左滾動時在底部左側(cè)顯示一個三個點的省略號,點擊省略號將自動把光標置于字符串的開始處惫企。你可以通過 app:met_singleLineEllipsis=true
(xml) 或者setSingleLineEllipsis()
(java) 來設置它撕瞧。這個屬性將自動設置 android:singleLine
為 true。
注意:底部省略號會自動增大控件底部的高度狞尔。
app:met_singleLineEllipsis="true"-
字符數(shù)限制
設置字符數(shù)限制后丛版,控件右下角會顯示已輸入字符數(shù)和最大字符數(shù)的角標,并在超過限制后顯示警告色(默認為紅色)偏序。 你可以通過 app:maxCharacters
(xml) 或者 setMaxCharacters()
(java) 來設置字符數(shù)页畦,通過 app:errorColor
或者 setErrorColor()
(java) 來自定義警告色。使用 app:met_maxCharacters
(xml) 或者 setMaxCharacters()
(java) 來設置最多字數(shù)研儒,使用 app:met_minCharacters
(xml) 或者 setMinCharacters()
(java) 來設置最少字數(shù). 當字數(shù)不符合限制要求的時候豫缨,底部的線和顯示字數(shù)的角標都會變紅(你也可以使用 app:met_errorColor
或者 setErrorColor()
來自定義 error color)独令。
注意:字符數(shù)角標會自動增大控件底部的高度。app:met_minCharacters="5" app:met_maxCharacters="10"
Helper Text 和 Error Text
helper text:
app:met_helperText="Integer"Hide Underline
app:met_hideUnderline="true"
隱藏底部的線字符串檢查
檢查后州胳,如果有錯记焊,將自動調(diào)用 setError()
方法來提示錯誤。
單一條件檢查:
et.validateWith(new RegexpValidator("Only Integer Valid!", "\d+"));
復合條件檢查:
et.addValidator(new CustomValidator1())
.addValidator(new CustomValidator2())
.addValidator(new RegexpValidator("Only Integer Valid!", "\\d+"));
全部參數(shù)
通用顏色
met_baseColor
: 底部橫線和所有文字在無焦點狀態(tài)的基礎色栓撞。默認為黑色遍膜。
met_primaryColor
: 底部橫線和 Floating label 的高亮色(如果 met_floatingLabel 設置為 highlight 的話)。默認使用 baseColor瓤湘。
met_textColor
: 和自帶的 android:textColor
作用相同瓢颅。換用這個就好。
met_textColorHint
: 和自帶的 android:textColorHint
作用相同弛说。換用這個就好挽懦。
met_underlineColor
: 自定義底部橫線的顏色。
Floating label
met_floatingLabel
: Floating label 應該怎樣被展示木人。選項有:none, normal, highlight信柿。 默認是 none.
met_floatingLabelText
: 自定義 floating label 的文字。
met_floatingLabelTextSize
: Floating label 的字體大小醒第。默認為 12sp渔嚷。
met_floatingLabelTextColor
: Floating label 的字體顏色。默認為半透明的 baseColor.
met_floatingLabelPadding
: Floating label 和主文字區(qū)域的間隔稠曼。
met_floatingLabelAnimating
: 是否使用動畫來顯示和消失 floating label 形病。默認為 true 。
met_floatingLabelAlwaysShown
: 是否總是顯示 Floating label 霞幅。默認為 false 漠吻。
字數(shù)限制
met_minCharacters
: 限制的最少字數(shù)。默認為0司恳。
met_maxCharacters
: 限制的最大字數(shù)途乃。0為無限制。默認為0.
Helper/Error text
met_helperText
: 底部的 helper text扔傅。
met_helperTextAlwaysShown
: 是否總是顯示 helper text耍共, 而不僅僅是在獲得焦點狀態(tài)時。默認為 false铅鲤。
met_helperTextColor
: Helper text 的字體顏色划提。
met_errorColor
: Error text 的字體顏色。
met_bottomTextSize
: 底部文字(Helper/Error text)的字體大小邢享。默認為12sp鹏往。
met_minBottomTextLines
:底部為文字預留的行數(shù),不管是否有 Helper/Error text 正在顯示。
字體(Typeface)
met_typeface
: 主文字的字體.
met_accentTypeface
: 輔助文字的字體.
Material Design 風格的左右圖標
met_iconLeft
: 左邊的圖標.
met_iconRight
: 右邊的圖標.
met_iconPadding
: 圖標和主區(qū)域之間的padding伊履。默認為16dp, 遵守 Google's Material Design Spec 中的建議.
Others
met_hideUnderline
: 是否隱藏底部橫線韩容。默認為 false。
met_autoValidate
: 是否自動檢查字符串唐瀑。默認為 false群凶。
met_singleLineEllipsis
: 是否在文字超長時顯示底部的省略號。默認為 false哄辣。
met_clearButton
: 是否顯示用來清空文字的 Clear button 请梢。默認為 false。