1、文本输入框
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
tools:layout_editor_absoluteX="16dp"
tools:layout_editor_absoluteY="16dp"
tools:ignore="MissingConstraints"
/>
singleline:单行模式
输入数字后,多余的不会换行,滚动输入
android:singleLine="true"
maxLength:最大长度
最大长度为10,因此大于10后面数字无法输入
android:maxLength="10"
requestFocus让某个元素自动获得焦点
<requestFocus/>
hint:text为空时显示的文字提示信息
android:hint="请输入汉字!"
textColorHint:设置提示信息的颜色
android:textColor="#ff0000"
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="请输入数字!"
android:maxLength="10"
android:orientation="vertical"
android:singleLine="true" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="请输入汉字!"
android:textColor="#ff0000"
android:maxLength="10"
android:singleLine="true"
android:orientation="vertical"
/>
<requestFocus/>
2、numeric
integer:正整数
signed:负数
decimal
digits:对内容罗列
3、限制EditText内容的特殊方式
特殊方式1:TextChangedListener
将输入的内容,在toast中显示出来,输入1234,toast提示1234
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editText2=(EditText) findViewById(R.id.editText2);
editText2.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void afterTextChanged(Editable editable) {
String string= editable.toString();
Toast.makeText(getApplicationContext(), string, Toast.LENGTH_SHORT).show();
}
});
}
设置不能输入4,当接收到4时,toast提示“不能输入4”
public void afterTextChanged(Editable editable) {
String string= editable.toString();
if (string.indexOf("4")!=-1){
Toast.makeText(getApplicationContext(), "不能输入4", Toast.LENGTH_SHORT).show();
}
Toast.makeText(getApplicationContext(), string, Toast.LENGTH_SHORT).show();
}
特殊方式2:CharSequence filter
输入长度限制为5
输入小写字母自动转化为大写字母
输入为1,则显示“一”,输入为2,则显示“二”,其余输入均显示本身
EditText editText1=findViewById(R.id.editText1);
editText1.setFilters(new InputFilter[]{
new InputFilter.LengthFilter(5),
new InputFilter.AllCaps(),
new InputFilter() {
@Override
public CharSequence filter(CharSequence charSequence, int i, int i1, Spanned spanned, int i2, int i3) {
if ("1".equals(charSequence.toString())){
return "一";
}else if ("2".equals(charSequence.toString())){
return"二";
}
else
return null;
}
}
});