Android MaterialEditText

参考文档
https://github.com/rengwuxian/MaterialEditText
说明文档
http://www.rengwuxian.com/post/materialedittext

基本使用

在布局文件中把 EditText 替换为 com.rengwuxian.materialedittext.MaterialEditText 就行了。MaterialEditText 是直接继承的 EditText ,没有加入一些 Wrapper Layout , 因此多数情况下你不需要修改 java 文件。

  1. 自定义颜色
    Base Color 被用作背景线的颜色、主字体的颜色(透明度被重置为87%)和提示字体的颜色(透明度被重置为26%)。你可以使用 app:met_baseColor
    (xml) 或者 setBaseColor()
    (java) 来指定 Base Color 。Base Color 的默认值为纯黑。---- <code>字体和其他的默认颜色</code>
    app:met_baseColor="#0056d3"
    Primary Color 被用作激活状态的输入框背景色、高亮的Floating Label色和底部省略号的颜色。你可以使用 app:met_primaryColor
    (xml) 或者 setPrimaryColor()
    (java) 来指定 Primary Color。如果没有设置Primary Color,默认将使用 Base Color 来替代。

     app:met_baseColor="#0056d3"
     app:met_primaryColor="#982360"
    
  2. 底部省略号
    当设置显示底部省略号后,控件会在文字向左滚动时在底部左侧显示一个三个点的省略号,点击省略号将自动把光标置于字符串的开始处。你可以通过 app:met_singleLineEllipsis=true
    (xml) 或者setSingleLineEllipsis()
    (java) 来设置它。这个属性将自动设置 android:singleLine
    为 true。
    注意:底部省略号会自动增大控件底部的高度。
    app:met_singleLineEllipsis="true"

  3. 字符数限制
    设置字符数限制后,控件右下角会显示已输入字符数和最大字符数的角标,并在超过限制后显示警告色(默认为红色)。 你可以通过 app:maxCharacters
    (xml) 或者 setMaxCharacters()
    (java) 来设置字符数,通过 app:errorColor
    或者 setErrorColor()
    (java) 来自定义警告色。使用 app:met_maxCharacters
    (xml) 或者 setMaxCharacters()
    (java) 来设置最多字数,使用 app:met_minCharacters
    (xml) 或者 setMinCharacters()
    (java) 来设置最少字数. 当字数不符合限制要求的时候,底部的线和显示字数的角标都会变红(你也可以使用 app:met_errorColor
    或者 setErrorColor()
    来自定义 error color)。
    注意:字符数角标会自动增大控件底部的高度。

     app:met_minCharacters="5" 
     app:met_maxCharacters="10"
    
  4. Helper Text 和 Error Text
    helper text:
    app:met_helperText="Integer"

  5. Hide Underline
    app:met_hideUnderline="true"
    隐藏底部的线

  6. 字符串检查
    检查后,如果有错,将自动调用 setError()
    方法来提示错误。
    单一条件检查:
    et.validateWith(new RegexpValidator("Only Integer Valid!", "\d+"));

复合条件检查:

     et.addValidator(new CustomValidator1())
        .addValidator(new CustomValidator2())
        .addValidator(new       RegexpValidator("Only Integer Valid!", "\\d+"));
QQ图片20160229134848.png

全部参数
通用颜色
met_baseColor
: 底部横线和所有文字在无焦点状态的基础色。默认为黑色。
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 和主文字区域的间隔。
met_floatingLabelAnimating
: 是否使用动画来显示和消失 floating label 。默认为 true 。
met_floatingLabelAlwaysShown
: 是否总是显示 Floating label 。默认为 false 。
字数限制
met_minCharacters
: 限制的最少字数。默认为0。
met_maxCharacters
: 限制的最大字数。0为无限制。默认为0.
Helper/Error text
met_helperText
: 底部的 helper text。
met_helperTextAlwaysShown
: 是否总是显示 helper text, 而不仅仅是在获得焦点状态时。默认为 false。
met_helperTextColor
: Helper text 的字体颜色。
met_errorColor
: Error text 的字体颜色。
met_bottomTextSize
: 底部文字(Helper/Error text)的字体大小。默认为12sp。
met_minBottomTextLines
:底部为文字预留的行数,不管是否有 Helper/Error text 正在显示。
字体(Typeface)
met_typeface
: 主文字的字体.
met_accentTypeface
: 辅助文字的字体.
Material Design 风格的左右图标
met_iconLeft
: 左边的图标.
met_iconRight
: 右边的图标.
met_iconPadding
: 图标和主区域之间的padding。默认为16dp, 遵守 Google's Material Design Spec 中的建议.
Others
met_hideUnderline
: 是否隐藏底部横线。默认为 false。
met_autoValidate
: 是否自动检查字符串。默认为 false。
met_singleLineEllipsis
: 是否在文字超长时显示底部的省略号。默认为 false。
met_clearButton
: 是否显示用来清空文字的 Clear button 。默认为 false。

github项目链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,425评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,058评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,186评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,848评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,249评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,554评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,830评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,536评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,239评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,505评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,004评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,346评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,999评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,060评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,821评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,574评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,480评论 2 267

推荐阅读更多精彩内容

  • Text fields - 文本字段 Text fields allow users to input text,...
    两个朋友指甲阅读 569评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,563评论 25 707
  • 记得早先少年时 大家诚诚恳恳 说一句 是一句 清早上火车站 长街黑暗无行人 卖豆浆的小店冒着热气 从前的日色变得慢...
    戒定慧子阅读 209评论 0 0
  • 题记:此情若是长久时,又怎会朝不保夕。 1 大芳去买菜,在菜市门口看到有两个女人在打架。女人和女人打架,打得很凶。...
    小夕遇见阅读 764评论 0 2
  • 【0825今日话题】 “没有功劳,也有苦劳”对于这句话,你的看法是什么? 没有功劳,所谓的苦劳也就一文不值了,比如...
    梓毓爸阅读 139评论 2 0