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”完成创建。然后在其中填充如下代码片段:
上面界面布局中的第一个文本框通过android:hint指定了文本框的提示信息:请输入用户名——这是该文本框默认的提示。当用户还没有输入时,该文本框内默认显示这段信息;
第二个输入框通过android:inputType=numberPassword”设置这是一个密码框,而且只能接受数字密码,用户在该文本框输入的字符会以点号代替;
第三个输入框通过android: inputType=number设置为只能接受数值的输入框;
第四个输入框通过android:inputType= date指定它是一个日期输入框;
第五个输入框通过android:inputType= phone”设置为一个电话号码输入框。
然后修改一下app/src/java/MainActivity.java文件中加载的布局文件为新建的edittext_layout.xml文件,修改后的代码如下:
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.edittext_layout); } }
运行程序,可以看到下图所示界面效果。
EditText的示例程序就先到这里,关于其他使用方法建议大家自己进行练习。
今天就先到这里,下一期开始UI组件的学习。如果有问题欢迎留言一起探讨,也欢迎加入Android零基础入门技术讨论微信群,共同成长!
往期总结分享:
Android零基础入门第1节:
Android零基础入门第2节:
Android零基础入门第3节:
Android零基础入门第4节:
Android零基础入门第5节:
Android零基础入门第6节:
Android零基础入门第7节:
Android零基础入门第8节:
Android零基础入门第9节:
Android零基础入门第10节:
Android零基础入门第11节:
Android零基础入门第12节:
Android零基础入门第13节:
Android零基础入门第14节:
Android零基础入门第15节:
Android零基础入门第16节:
Android零基础入门第17节:
此文章版权为微信公众号分享达人秀(ShareExpert)——鑫鱻所有,若转载请备注出处,特此声明!