MaterialEditText库使用详解
在android新推出的Material Design中对文本输入框的样式提供了标准,并且在AppCompat v21 中提供了Material Design的空间外观支持,如下图:
不过该控件在使用的过程中比较繁琐,需要通过为控件定制theme的方式来实现自定义控件颜色,并且并没有提供Material Design中提到的特性,因此,为了使用实现该特性效果,我们可以使用rengwuxian在github推出的库MaterialEditText.来实现
使用方法:
首先引用库
compile ‘com.rengwuxian.materialedittext:library:2.1.4’
基本使用
<com.rengwuxian.materialedittext.MaterialEditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:hint="Basic"/>
自定义颜色
修改输入的字体颜色
app:met_baseColor="#0056d3"
- 修改输入框的颜色
app:met_primaryColor="#982360"
- 在Material Design中另一个新特新就是在EditText输入时,hint内容将缩小位移到输入框上方
而在MaterialEditText中同样实现了该功能Floating Label
app:met_floatingLabel="normal"
app:met_floatingLabel="highlight"
app:met_floatingLabelText="XXX"
met_floatingLabelText方法需要配合上面两个参数才能生效
<com.rengwuxian.materialedittext.MaterialEditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"app:met_baseColor="#0056d3"app:met_primaryColor="#982360"app:met_floatingLabelText="aaaaaa"app:met_floatingLabel="normal"android:hint="Basic"/>
底部省略号
当设置底部省略号后,控件会在文字向左滚动时,在底部显示一个三个点的胜率号,这个方法会自动将android:singleLine设置为true
app:met_singleLineEllipsis="true"
字符数限制
设置字符数限制后,控件右下角会显示已输入字符数和最大字符数的角标,并在超过限制后显示警告色(默认为红色).
//设置警告色:app:met_errorColor="#000000"//设置最多字数和最小字数app:met_minCharacters="5"app:met_maxCharacters="10"
- Helper Text和Error Text
helper Text 通过xml中
app:met_helperText="Integer"
Error Text需要动态调用
setError(CharSequence error)
- 正则表达式检查:
validationEditText.isValid("\\d+");
- 带有报错字符串的正则表达式检查:
validationEditText.validate("\\d+", "Only Integer Valid!");
- 自定义accent typeface 字体
app:met_accentTypeface="fonts/Roboto-LightItalic.ttf"
列表内容
Hide UnderLine
删除默认的下划线
app:met_hideUnderline="true"
字符串检查
检查后,如果有错,将自动调用 setError() 方法来提示错误。
单一条件检查:
et.validateWith(new RegexpValidator("Only Integer Valid!", "\\d+"));
复合条件检查:
et.addValidator(new CustomValidator1())
.addValidator(new CustomValidator2())
.addValidator(new RegexpValidator("Only Integer Valid!", "\\d+"));
放置图片
在输入框左右放置图片,默认图片和输入框之间的距离为16dp
可以通过met_iconPadding设置
app:met_iconLeft="@mipmap/ic_launcher"
app:met_iconRight="@mipmap/ic_launcher"
显示清空输入框btn
app:met_clearButton= “true”
- 全部参数
- 通用颜色
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。
MaterialEditText库使用详解相关推荐
- Python爬虫之selenium库使用详解
Python爬虫之selenium库使用详解 本章内容如下: 什么是Selenium selenium基本使用 声明浏览器对象 访问页面 查找元素 多个元素查找 元素交互操作 交互动作 执行JavaS ...
- python时间函数详解_Python:Numpy库基础分析——详解datetime类型的处理
原标题:Python:Numpy库基础分析--详解datetime类型的处理 Python:Numpy库基础分析--详解datetime类型的处理 关于时间的处理,Python中自带的处理时间的模块就 ...
- linux mysql 静态库_Linux静态库与动态库实例详解
Linux静态库与动态库实例详解 1. Linux 下静态链接库编译与使用 首先编写如下代码: // main.c #include "test.h" int main(){ te ...
- python可以处理多大的数据_科多大数据之Python基础教程之Excel处理库openpyxl详解...
原标题:科多大数据之Python基础教程之Excel处理库openpyxl详解 科多大数据小课堂来啦~Python基础教程之Excel处理库openpyxl详解 openpyxl是一个第三方库,可以处 ...
- NodeMCU 之 U8G2 库使用详解
NodeMCU 之 U8G2 库使用详解 1.指令 u8g2.clearDisplay(); // 清除显示数据及屏幕u8g2.clearBuffer(); // 清Buffer缓冲区的数据u8g2. ...
- cJSON库用法详解
cJSON库用法详解_宁静致远2021的博客-CSDN博客_cjson cJSON库用法详解 问题和需要注意的地方 一.JSON.cJSON简介 1. JSON 简介 2. JSON 语法 3. 开源 ...
- STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解)
目录 STC8H开发(一): 在Keil5中配置和使用FwLib_STC8封装库(图文详解) STC8H开发(二): 在Linux VSCode中配置和使用FwLib_STC8封装库(图文详解) ST ...
- python的excell库_扣丁学堂Python基础教程之Excel处理库openpyxl详解
扣丁学堂Python基础教程之Excel处理库openpyxl详解 2018-05-04 09:49:49 3197浏览 openpyxl是一个第三方库,可以处理xlsx格式的Excel文件.pipi ...
- Python标准库time详解
Python标准库time详解 1.time库 时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量 结构化时间(struct_time ...
最新文章
- android bitmap 转drawable,android Drawable转换成Bitmap失败
- 青龙羊毛——去趟转(搬运,非原创)
- 【阿里云课程】如何从零开始完成第一个GAN项目
- 如何在Twitter上阻止令人讨厌的“今日热门新闻@yourname”垃圾邮件
- C#简介和异常类总结
- 19muduo_base库源码分析(十)
- Apache OpenNLP(二)
- 在新美大“创业”:KTV预定业务演进之路
- 14个开源Ajax框架
- 汇编语言项目创建指南 - Visual Studio
- 分享一个好用的网页pdf打印插件
- java:单例模式的五种实现方式
- 定制性MES系统软件
- 找了这么多毕业设计题目,反而不知道选什么了
- c语言作业 电影院选座系统,c语言编程 电影院票务系统.wps
- ORACLE迁移到DM/达梦 Mysql迁移到DM/达梦 SQLSERVER迁移到DM/达梦 超级有用参考文档!!!
- NOIP模拟赛csy2021/10/30
- 代理ARP(Proxy ARP)实验
- 前任写的代码,真是辣鸡…
- 石基信息:战略性收购思迅软件,线下支付平台布局完善
热门文章
- aws mediatailor运行原理图
- 2014-04《信息资源管理 02378》真卷解析,逐题解析+背诵技巧
- Python 架设网站
- networking /etc/network/interfaces 笔记221102
- matplotlib绘制图表
- matlab读入stl文件,matlab读取stl文件
- orcad的噪声分析
- 数字格式化、大数据BigDecimal、随机数生成方法random()
- 政府安全资讯精选 2017年第十二期 中国网络安全漏洞披露平均效率远超美国; 美国美国国土安全部发布指令,要求联邦机构强化Web和电子邮件安全...
- 高中数学知识点:集合知识讲解