转载请注明出处:王亟亟的大牛之路
继续之前的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