android EditText inputType详解

2016-02-21  本文已影响1436人  逝水了无痕

这是一篇关于Android EditText中的inputType详解,因为Android中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用。这也大大的方便的操作。有时需要虚拟键盘只为字符或只为数字。所以inputType尤为重要。<code>
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content" 
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" 时间键盘

1.获得焦点后全选组件内所有文本内容

当我们点击想当我们的输入框获得焦点后,不是将光标移动到文本的开始或者结尾;而是 获取到输入框中所有的文本内容的话!这个时候我们可以使用selectAllOnFocus属性
android:selectAllOnFocus="true"

2.设置最小行的行数:android:minLines="3"
或者设置EditText最大的行数:android:maxLines="3"
PS:当输入内容超过maxline,文字会自动向上滚动!!

3.设置文字间隔,设置英文字母大写类型

android:textScaleX="1.5" //设置字与字的水平间隔
android:textScaleY="1.5" //设置字与字的垂直间隔

4.设置EditText获得焦点,同时弹出小键盘

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

5.EditText光标位置的控制

有时可能需要我们控制EditText中的光标移动到指定位置或者选中某些文本!EditText为我们提供了setSelection()的方法,方法有两种形式:
setSelection(int index);
setSelection(int start,int stop);
一个参数的是设置光标位置的,两个参数的是设置起始位置与结束位置的中间括的部分,即部分选中!当然我们也可以调用setSelectAllOnFocus(true);让EditText获得焦点时选中全部文本!另外我们还可以调用setCursorVisible(false);设置光标不显示还可以调用getSelectionStart()getSelectionEnd获得当前光标的前后位置

上一篇下一篇

猜你喜欢

热点阅读