EditText是应用和用户进行交互的一个重要控件,用户在其中输入信息,EditText对信息进行处理传输。
他控件的显示设置也很简单,如TextView一样包括:id,宽,高,名称(也就是显示的文字)等的设置。
android:hint
这个是EditText一个非常人性化的属性,我们经常会看到有好多输入框在输入前都会显示一些信息,当用户在进行输入的时候,信息就会消失。这个就是通过该属性进行实现的。当然还可以通过“android:hintTextColor”属性设置提示文本的颜色。
在布局文件中添加:
1 |
android:hint="Type something here" |
EditText如果设置他的宽是“wrap_parent”,则随着输入内容的增多,输入框会被拉长,如果超过一行,会自动换行显示,显示的是全部内容。但是这样就有了一个弊端,如果我们输入的内容过多,输入框控件会占据我们屏幕的大部分空间并且会非常的丑,这时我们可以通过maxLines属性设置显示的最大行数。
属性添加前:
在xml布局文件添加android:maxLines="2"
后:
设置密码输入框
密码输入框通常都是在输入密码框的最右边有一个眼睛样式的按钮,如果默认为显示输入的密码为”*“,当我们点击时,密码则为显示具体;如果默认为显示密码具体,当我们点击眼睛时,密码显示为 “*“。
默认显示密码,点击眼睛按钮后显示密码为”*“。
1 2 3 4 5 6 7 8 9 |
//onCreate中添加代码: buttonPassword = (Button) findViewById(R.id.buttonPassword); textPassword = (EditText) findViewById(R.id.editPassword); buttonPassword.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { textPassword.setTransformationMethod(new PasswordTransformationMethod()); } }); |
结果:
默认显示密码为”*“,点击眼睛按钮后显示密码。
1 2 3 4 5 6 7 8 9 |
//onCreate中添加代码: buttonPassword = (Button) findViewById(R.id.buttonPassword); textPassword = (EditText) findViewById(R.id.editPassword); buttonPassword.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { textPassword.setTransformationMethod(null); } }); |
layout布局文件中相应的EditText要添加如下语句:
1 |
android:password="true" |
结果:
输入限制
控制输入的内容,例如我们要定义一个输入手机号的输入框,这是我们就不允许输入字母或者汉字,我们只允许他输入数字 和”-“。这时我们可以用”android:inputType=”number”“属性来限制输入的内容。如果我们要输入身份证号码,只允许输入0-9数字和x字母,这时我们可以用”android:digits=”0123456789x”“限制输入。