2.04EditText(输入框)_UI组件_Android

TOC

EditText(输入框)_UI组件_Android

EditText 输入框,集成与TextView, 也继承其属性

EditText 特有属性

属姓名 说明
android:hint 默认提示文本
android:textColorHint 默认提示文本的颜色
android:selectAllOnFocus 布尔值。点击输入框获得焦点后,获取到输入框中所有的文本内容(默认点击之后,全选文本)
android:inputType 对输入的数据进行限制
android:minLines 设置最小行数
android:maxLines 设置最大行数 PS:当输入内容超过maxline,文字会自动向上滚动!!
android:singleLine 只允许单行输入,而且不会滚动
android:textScaleX 设置字与字的水平间隔
android:textScaleY 设置字与字的垂直间隔
android:capitalize(基本已经废弃无效了) sentences:仅第一个字母大写 ;words:每一个单词首字母大小,用空格区分单词;characters:每一个英文字母都大写

文本类型inputType:

  • 多为大写、小写和数字符号
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获得焦点,同时弹出小键盘

edit.requestFocus(); //请求获取焦点
edit.clearFocus(); //清除焦点

低版本的系统直接requestFocus就会自动弹出小键盘了,稍微高一点的版本则需要我们手动地去弹键盘:
第一种:

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

第二种

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘

EditText光标位置的控制

一个参数的是设置光标位置的,两个参数的是设置起始位置与结束位置的中间括的部分,即部分选中
组件.setSelection(数字);

//在activity中获取组件
EditText username = (EditText) findViewById(R.id.edit_username);
username.requestFocus();//获取焦点(低版本会自动弹出键盘,高版本需要手动编写代码弹出键盘)
username.setSelection(2);//设置光标
原文地址:https://www.cnblogs.com/ziyue7575/p/4d5e88e8b75a5c78e0ef485ce7fe1cd6.html