EditText与TextView非常相似,它甚至与TextView 共用了绝大部分XML属性和方法。EditText与TextView的最大区别在于:EditText可以接受用户输入。
一、EditText简介
EditText支持的XML属性及相关方法见TextView表中介绍的与输入有关的属性和方法,其中比较重要的一个属性是inputType,用于为EditText设置输入类型,其属性值主要有以下一些。
· 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:时间键盘。
EditText还派生了如下两个子类。
· AutoCompleteTextView:带有自动完成功能的EditText。由于该类通常需要与 Adapter结合使用,因此将会在下一章进行学习。
· ExtractEditText:并不是UI组件,而是EditText组件的底层服务类,负责提供全屏输入法支持。
二、EditText示例
接下来通过一个简单的示例程序来学习EditText的常见用法。
继续使用上期创建的WidgetSample工程,在app/main/res/layout/目录下创建一个edittext_layout.xml文件。
选中layout,鼠标右键弹出菜单,依次选择New -> XML -> Layout XML File,或依次选择New -> Layout resource file,或者选择layout后通过File菜单或新建图标完成,
弹出XML文件创建页面,在Layout File Name输入布局名“edittext_layout”,点击“Finish”完成创建。然后在其中填充如下代码片段:
[代码]xml代码:
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
|
上面界面布局中的第一个文本框通过android:hint指定了文本框的提示信息:请输入用户名——这是该文本框默认的提示。当用户还没有输入时,该文本框内默认显示这段信息;
第二个输入框通过android:inputType=numberPassword”设置这是一个密码框,而且只能接受数字密码,用户在该文本框输入的字符会以点号代替;
第三个输入框通过android: inputType=number设置为只能接受数值的输入框;
第四个输入框通过android:inputType= date指定它是一个日期输入框;
第五个输入框通过android:inputType= phone”设置为一个电话号码输入框。
然后修改一下app/src/java/MainActivity.java文件中加载的布局文件为新建的edittext_layout.xml文件,修改后的代码如下:
[代码]java代码:
1 2 3 4 5 6 7 8 |
|
运行程序,可以看到效果。
EditText的示例程序就先到这里,关于其他使用方法建议大家自己进行练习。
-----------------------------------------
今天就先到这里,下一期开始UI组件的学习。如果有问题欢迎留言一起探讨,也欢迎加入Android零基础入门技术讨论微信群,共同成长!