EditText的InputType属性,可以在代码中设置,也可以预先在xml中定义对应关系
来源:互联网 发布:mac os office 破解 编辑:程序博客网 时间:2024/05/21 19:36
EditText的InputType属性,可以在代码中设置,也可以预先在xml中定义
设置EditText的InputType属性,最简单省事的办法就是在定义EditText的xml中直接设置。
比如:
想要设置一个可编辑的文本框的输入内容为只能输入数字,则就可以:
(1)xml中定义InputType为number
<
EditText
android:id
=
"@+id/variableValue"
......
android:inputType
=
"number"
/>
(2)代码中设置InputType为TYPE_CLASS_NUMBER | TYPE_NUMBER_VARIATION_NORMAL
EditText variableValueView = (EditText) variableLayout.findViewById(R.id.variableValue);
int
inputType = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL;
variableValueView.setInputType(inputType);
这样的话,之后界面中生成的EditText,当点击后要输入内容的时候,弹出的输入法,自动变成那种只能输入数字的小键盘类型的了:
另外,附上,正常的普通字符串,即:
xml中:
android:inputType="text"
或代码中:
someEditText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL);
时,显示出来的输入法键盘的效果:
EditText的InputType属性对应的xml定义有哪些,以及代码中设置的InputType类型有哪些
知道了设置EditText的InputType属性值,既可以通过xml中定义,也可以在代码中设置为InputType的某种值,但是到底这些值有哪些,以及分别对应的含义是啥,则可以参考官网:
TextView | Android Developers – android:inputType
中的完整的列表:
Constant
Value
Description
none
0x00000000
There is no content type. The text is not editable.
text
0x00000001
Just plain old text. Corresponds toTYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_NORMAL.
textCapCharacters
0x00001001
Can be combined with text and its variations to request capitalization of all characters. Corresponds to TYPE_TEXT_FLAG_CAP_CHARACTERS.
textCapWords
0x00002001
Can be combined with text and its variations to request capitalization of the first character of every word. Corresponds toTYPE_TEXT_FLAG_CAP_WORDS.
textCapSentences
0x00004001
Can be combined with text and its variations to request capitalization of the first character of every sentence. Corresponds toTYPE_TEXT_FLAG_CAP_SENTENCES.
textAutoCorrect
0x00008001
Can be combined with text and its variations to request auto-correction of text being input. Corresponds toTYPE_TEXT_FLAG_AUTO_CORRECT.
textAutoComplete
0x00010001
Can be combined with text and its variations to specify that this field will be doing its own auto-completion and talking with the input method appropriately. Corresponds toTYPE_TEXT_FLAG_AUTO_COMPLETE.
textMultiLine
0x00020001
Can be combined with text and its variations to allow multiple lines of text in the field. If this flag is not set, the text field will be constrained to a single line. Corresponds to TYPE_TEXT_FLAG_MULTI_LINE.
textImeMultiLine
0x00040001
Can be combined with text and its variations to indicate that though the regular text view should not be multiple lines, the IME should provide multiple lines if it can. Corresponds toTYPE_TEXT_FLAG_IME_MULTI_LINE.
textNoSuggestions
0x00080001
Can be combined with text and its variations to indicate that the IME should not show any dictionary-based word suggestions. Corresponds toTYPE_TEXT_FLAG_NO_SUGGESTIONS.
textUri
0x00000011
Text that will be used as a URI. Corresponds toTYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_URI.
textEmailAddress
0x00000021
Text that will be used as an e-mail address. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_EMAIL_ADDRESS.
textEmailSubject
0x00000031
Text that is being supplied as the subject of an e-mail. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_EMAIL_SUBJECT.
textShortMessage
0x00000041
Text that is the content of a short message. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_SHORT_MESSAGE.
textLongMessage
0x00000051
Text that is the content of a long message. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_LONG_MESSAGE.
textPersonName
0x00000061
Text that is the name of a person. Corresponds toTYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_PERSON_NAME.
textPostalAddress
0x00000071
Text that is being supplied as a postal mailing address. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_POSTAL_ADDRESS.
textPassword
0x00000081
Text that is a password. Corresponds toTYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_PASSWORD.
textVisiblePassword
0x00000091
Text that is a password that should be visible. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_VISIBLE_PASSWORD.
textWebEditText
0x000000a1
Text that is being supplied as text in a web form. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_WEB_EDIT_TEXT.
textFilter
0x000000b1
Text that is filtering some other data. Corresponds toTYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_FILTER.
textPhonetic
0x000000c1
Text that is for phonetic pronunciation, such as a phonetic name field in a contact entry. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_PHONETIC.
textWebEmailAddress
0x000000d1
Text that will be used as an e-mail address on a web form. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS.
textWebPassword
0x000000e1
Text that will be used as a password on a web form. Corresponds to TYPE_CLASS_TEXT |TYPE_TEXT_VARIATION_WEB_PASSWORD.
number
0x00000002
A numeric only field. Corresponds toTYPE_CLASS_NUMBER |TYPE_NUMBER_VARIATION_NORMAL.
numberSigned
0x00001002
Can be combined with number and its other options to allow a signed number. Corresponds toTYPE_CLASS_NUMBER |TYPE_NUMBER_FLAG_SIGNED.
numberDecimal
0x00002002
Can be combined with number and its other options to allow a decimal (fractional) number. Corresponds to TYPE_CLASS_NUMBER |TYPE_NUMBER_FLAG_DECIMAL.
numberPassword
0x00000012
A numeric password field. Corresponds toTYPE_CLASS_NUMBER |TYPE_NUMBER_VARIATION_PASSWORD.
phone
0x00000003
For entering a phone number. Corresponds toTYPE_CLASS_PHONE.
datetime
0x00000004
For entering a date and time. Corresponds toTYPE_CLASS_DATETIME |TYPE_DATETIME_VARIATION_NORMAL.
date
0x00000014
For entering a date. Corresponds toTYPE_CLASS_DATETIME |TYPE_DATETIME_VARIATION_DATE.
time
0x00000024
For entering a time. Corresponds toTYPE_CLASS_DATETIME |TYPE_DATETIME_VARIATION_TIME.
如此,就可以自己去在xml或代码中,分别试试,每种不同的InputType对应的都是什么效果了。
注意:通过代码给InputType赋值时,不是设置TYPE_XXX_VARIATION_YYY,而是要设置TYPE_CLASS_XXX | TYPE_XXXX_VARAITION_YYY
之前在代码中给InputType设置值,错写成:
inputType = InputType.TYPE_DATETIME_VARIATION_TIME;
导致,EditText点击后,不显示输入法键盘,改为正确的:
inputType = InputType.TYPE_CLASS_DATETIME | InputType.TYPE_DATETIME_VARIATION_TIME;
就可以正常的显示键盘了。
而后,也注意到官网
InputType | Android Developers
的解释中的示例:
- A password field with with the password visible to the user:
- inputType = TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
- A multi-line postal address with automatic capitalization:
- inputType = TYPE_CLASS_TEXT | TYPE_TEXT_VARIATION_POSTAL_ADDRESS | TYPE_TEXT_FLAG_MULTI_LINE
- A time field:
- inputType = TYPE_CLASS_DATETIME | TYPE_DATETIME_VARIATION_TIME
以及
TextView | Android Developers – android:inputType
中提示的:
“Must be one or more (separated by ‘|’) of the following constant values.”
即:
需要一个或多个值,中间通过竖杠"|"去抑或(按位或)的。
- EditText的InputType属性,可以在代码中设置,也可以预先在xml中定义对应关系
- android中inputType属性在EditText
- RecyclerView可以在xml文件中配置的特别属性
- 1、看看你struts.xml文件中action中对应的class属性的值是否可以在Spring的配置文件中找到对应的id值。
- 让代码中的属性可以在storyboard的右边栏中进行设置
- EditText在XML布局中设置inputType后hint字体会改变
- XML中的布局元素必须在代码中有一个一致的对应才可以被实例化
- 在代码中设置文字的大小,可以指定单位
- EditText中inputType属性
- android 代码中设置edittext的inputtype问题
- android中inputType属性在EditText输入值时启动的虚拟键盘的风格
- 王立平--EditText中在xml中设置Text,可以获取到。但是自己填写了Text却获取不到
- Android自定义View在xml中定义样式可以定义的类型
- 在xml布局文件中,我们既可以设置px,也可以设置dp(或者dip)。一般情况下,我们都会选择使用dp,这样可以保证不同屏幕分辨率的机器上布局一致。但是在代码中,如何处理呢?很多控件的方法中都只提供了
- android EditText中inputType的属性列表
- android EditText中inputType的属性列表
- android EditText中inputType的属性列表
- android EditText中inputType的属性列表
- 安装PHP出现错误:Cannot find MySQL header
- Linux下apache2.2.6+php5.2.5+mysql5.0.46+Zend Optimizer 3.3.0+phpMyAdmin-2.11.1源码(一)
- iOS环信3.0集成 (一)SDK的集成
- Linux下apache2.2.6+php5.2.5+mysql5.0.46+Zend Optimizer 3.3.0+phpMyAdmin-2.11.1源码(二)
- phpmyadmin 403 You don’t have permission to access /phpmyadmin/ on this server
- EditText的InputType属性,可以在代码中设置,也可以预先在xml中定义对应关系
- CentOS 5.6安装lamp(Apache2+PHP5+MySQL)
- WINDOWS下使用PTHREAD库
- Linux 下Mysql开放远程登录
- Eclipse 代码折叠 - Mac / Windows
- 如何利用webmin在Linux主机中添加网站
- Linux(CentOS)服务器上安装Webmin
- centos vsftpd 安装配置
- java.awt.event.KeyEvent(键盘按键对应的KeyCode)