很多网友可能在开发
Android时发现EditText有时候需要限制用户输入的内容,通常我们可以使用正则表达式直接限制,但是Android已经为我们准备好了EditText的输入类型,这样的比正则要有以下几点优势:
1. 开发更简单,执行速度高效。 2. 输入法默认会根据情况变动,比如说设置为numeric后输入法会自动仅显示数字,不会出现Qwerty中的字母。
下面我们通过EditText的layout xml文件中的相关属性来实现:
1. 密码框属性 android:password="true" 这条可以让EditText显示的内容自动为 星号,输入时内容会在1秒内变成*字样。
2. 纯数字 android:numeric="true" 这条可以让输入法自动变为数字输入键盘,同时仅允许0-9的数字输入
3. 仅允许 android:capitalize="cwj1987" 这样仅允许接受输入cwj1987,一般用于密码验证
下面是一些扩展的风格属性
android:editable="false" 设置EditText不可编辑
android:singleLine="true" 强制输入的内容在单行
android:ellipsize="end" 自动隐藏尾部溢出数据,一般用于文字内容过长一行无法全部显示时。
有关EditText内部的一些bug和样式,Android123将在以后的文章介绍到,感兴趣的网友可以主要分析下它的基类TextView实现代码
1. 开发更简单,执行速度高效。 2. 输入法默认会根据情况变动,比如说设置为numeric后输入法会自动仅显示数字,不会出现Qwerty中的字母。
下面我们通过EditText的layout xml文件中的相关属性来实现:
1. 密码框属性 android:password="true" 这条可以让EditText显示的内容自动为 星号,输入时内容会在1秒内变成*字样。
2. 纯数字 android:numeric="true" 这条可以让输入法自动变为数字输入键盘,同时仅允许0-9的数字输入
3. 仅允许 android:capitalize="cwj1987" 这样仅允许接受输入cwj1987,一般用于密码验证
下面是一些扩展的风格属性
android:editable="false" 设置EditText不可编辑
android:singleLine="true" 强制输入的内容在单行
android:ellipsize="end" 自动隐藏尾部溢出数据,一般用于文字内容过长一行无法全部显示时。
有关EditText内部的一些bug和样式,Android123将在以后的文章介绍到,感兴趣的网友可以主要分析下它的基类TextView实现代码