Added in API level 3

InputType

public interface InputType

android.text.InputType


Bit definitions for an integer defining the basic content type of text held in an Editable object. Supported classes may be combined with variations and flags to indicate desired behaviors.

Examples

A password field 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

Summary

Constants

int TYPE_CLASS_DATETIME

Class for dates and times.

int TYPE_CLASS_NUMBER

Class for numeric text.

int TYPE_CLASS_PHONE

Class for a phone number.

int TYPE_CLASS_TEXT

Class for normal text.

int TYPE_DATETIME_VARIATION_DATE

Default variation of TYPE_CLASS_DATETIME: allows entering only a date.

int TYPE_DATETIME_VARIATION_NORMAL

Default variation of TYPE_CLASS_DATETIME: allows entering both a date and time.

int TYPE_DATETIME_VARIATION_TIME

Default variation of TYPE_CLASS_DATETIME: allows entering only a time.

int TYPE_MASK_CLASS

Mask of bits that determine the overall class of text being given.

int TYPE_MASK_FLAGS

Mask of bits that provide addition bit flags of options.

int TYPE_MASK_VARIATION

Mask of bits that determine the variation of the base content class.

int TYPE_NULL

Special content type for when no explicit type has been specified.

int TYPE_NUMBER_FLAG_DECIMAL

Flag of TYPE_CLASS_NUMBER: the number is decimal, allowing a decimal point to provide fractional values.

int TYPE_NUMBER_FLAG_SIGNED

Flag of TYPE_CLASS_NUMBER: the number is signed, allowing a positive or negative sign at the start.

int TYPE_NUMBER_VARIATION_NORMAL

Default variation of TYPE_CLASS_NUMBER: plain normal numeric text.

int TYPE_NUMBER_VARIATION_PASSWORD

Variation of TYPE_CLASS_NUMBER: entering a numeric password.

int TYPE_TEXT_FLAG_AUTO_COMPLETE

Flag for TYPE_CLASS_TEXT: the text editor (which means the application) is performing auto-completion of the text being entered based on its own semantics, which it will present to the user as they type.

int TYPE_TEXT_FLAG_AUTO_CORRECT

Flag for TYPE_CLASS_TEXT: the user is entering free-form text that should have auto-correction applied to it.

int TYPE_TEXT_FLAG_CAP_CHARACTERS

Flag for TYPE_CLASS_TEXT: capitalize all characters.

int TYPE_TEXT_FLAG_CAP_SENTENCES

Flag for TYPE_CLASS_TEXT: capitalize the first character of each sentence.

int TYPE_TEXT_FLAG_CAP_WORDS

Flag for TYPE_CLASS_TEXT: capitalize the first character of every word.

int TYPE_TEXT_FLAG_ENABLE_TEXT_CONVERSION_SUGGESTIONS

Flag for TYPE_CLASS_TEXT: Let the IME know the text conversion suggestions are required by the application.

int TYPE_TEXT_FLAG_IME_MULTI_LINE

Flag for TYPE_CLASS_TEXT: the regular text view associated with this should not be multi-line, but when a fullscreen input method is providing text it should use multiple lines if it can.

int TYPE_TEXT_FLAG_MULTI_LINE

Flag for TYPE_CLASS_TEXT: multiple lines of text can be entered into the field.

int TYPE_TEXT_FLAG_NO_SUGGESTIONS

Flag for TYPE_CLASS_TEXT: the input method does not need to display any dictionary-based candidates.

int TYPE_TEXT_VARIATION_EMAIL_ADDRESS

Variation of TYPE_CLASS_TEXT: entering an e-mail address.

int TYPE_TEXT_VARIATION_EMAIL_SUBJECT

Variation of TYPE_CLASS_TEXT: entering the subject line of an e-mail.

int TYPE_TEXT_VARIATION_FILTER

Variation of TYPE_CLASS_TEXT: entering text to filter contents of a list etc.

int TYPE_TEXT_VARIATION_LONG_MESSAGE

Variation of TYPE_CLASS_TEXT: entering the content of a long, possibly formal message such as the body of an e-mail.

int TYPE_TEXT_VARIATION_NORMAL

Default variation of TYPE_CLASS_TEXT: plain old normal text.

int TYPE_TEXT_VARIATION_PASSWORD

Variation of TYPE_CLASS_TEXT: entering a password.

int TYPE_TEXT_VARIATION_PERSON_NAME

Variation of TYPE_CLASS_TEXT: entering the name of a person.

int TYPE_TEXT_VARIATION_PHONETIC

Variation of TYPE_CLASS_TEXT: entering text for phonetic pronunciation, such as a phonetic name field in contacts.

int TYPE_TEXT_VARIATION_POSTAL_ADDRESS

Variation of TYPE_CLASS_TEXT: entering a postal mailing address.

int TYPE_TEXT_VARIATION_SHORT_MESSAGE

Variation of TYPE_CLASS_TEXT: entering a short, possibly informal message such as an instant message or a text message.

int TYPE_TEXT_VARIATION_URI

Variation of TYPE_CLASS_TEXT: entering a URI.

int TYPE_TEXT_VARIATION_VISIBLE_PASSWORD

Variation of TYPE_CLASS_TEXT: entering a password, which should be visible to the user.

int TYPE_TEXT_VARIATION_WEB_EDIT_TEXT

Variation of TYPE_CLASS_TEXT: entering text inside of a web form.

int TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS

Variation of TYPE_CLASS_TEXT: entering e-mail address inside of a web form.

int TYPE_TEXT_VARIATION_WEB_PASSWORD

Variation of TYPE_CLASS_TEXT: entering password inside of a web form.

Constants

TYPE_CLASS_DATETIME

Added in API level 3
public static final int TYPE_CLASS_DATETIME

Class for dates and times. It supports the following variations: TYPE_DATETIME_VARIATION_NORMAL TYPE_DATETIME_VARIATION_DATE, and TYPE_DATETIME_VARIATION_TIME.

Constant Value: 4 (0x00000004)

TYPE_CLASS_NUMBER

Added in API level 3
public static final int TYPE_CLASS_NUMBER

Class for numeric text. This class supports the following flags: TYPE_NUMBER_FLAG_SIGNED and TYPE_NUMBER_FLAG_DECIMAL. It also supports the following variations: TYPE_NUMBER_VARIATION_NORMAL and TYPE_NUMBER_VARIATION_PASSWORD.

IME authors: If you do not recognize the variation, normal should be assumed.

Constant Value: 2 (0x00000002)

TYPE_CLASS_PHONE

Added in API level 3
public static final int TYPE_CLASS_PHONE

Class for a phone number. This class currently supports no variations or flags.

Constant Value: 3 (0x00000003)

TYPE_CLASS_TEXT

Added in API level 3
public static final int TYPE_CLASS_TEXT

Class for normal text. This class supports the following flags (only one of which should be set): TYPE_TEXT_FLAG_CAP_CHARACTERS, TYPE_TEXT_FLAG_CAP_WORDS, and. TYPE_TEXT_FLAG_CAP_SENTENCES. It also supports the following variations: TYPE_TEXT_VARIATION_NORMAL, and TYPE_TEXT_VARIATION_URI. If you do not recognize the variation, normal should be assumed.

Constant Value: 1 (0x00000001)

TYPE_DATETIME_VARIATION_DATE

Added in API level 3
public static final int TYPE_DATETIME_VARIATION_DATE

Default variation of TYPE_CLASS_DATETIME: allows entering only a date.

Constant Value: 16 (0x00000010)

TYPE_DATETIME_VARIATION_NORMAL

Added in API level 3
public static final int TYPE_DATETIME_VARIATION_NORMAL

Default variation of TYPE_CLASS_DATETIME: allows entering both a date and time.

Constant Value: 0 (0x00000000)

TYPE_DATETIME_VARIATION_TIME

Added in API level 3
public static final int TYPE_DATETIME_VARIATION_TIME

Default variation of TYPE_CLASS_DATETIME: allows entering only a time.

Constant Value: 32 (0x00000020)

TYPE_MASK_CLASS

Added in API level 3
public static final int TYPE_MASK_CLASS

Mask of bits that determine the overall class of text being given. Currently supported classes are: TYPE_CLASS_TEXT, TYPE_CLASS_NUMBER, TYPE_CLASS_PHONE, TYPE_CLASS_DATETIME.

IME authors: If the class is not one you understand, assume TYPE_CLASS_TEXT with NO variation or flags.

Constant Value: 15 (0x0000000f)

TYPE_MASK_FLAGS

Added in API level 3
public static final int TYPE_MASK_FLAGS

Mask of bits that provide addition bit flags of options.

Constant Value: 16773120 (0x00fff000)

TYPE_MASK_VARIATION

Added in API level 3
public static final int TYPE_MASK_VARIATION

Mask of bits that determine the variation of the base content class.

Constant Value: 4080 (0x00000ff0)

TYPE_NULL

Added in API level 3
public static final int TYPE_NULL

Special content type for when no explicit type has been specified. This should be interpreted to mean that the target input connection is not rich, it can not process and show things like candidate text nor retrieve the current text, so the input method will need to run in a limited "generate key events" mode, if it supports it. Note that some input methods may not support it, for example a voice-based input method will likely not be able to generate key events even if this flag is set.

Constant Value: 0 (0x00000000)

TYPE_NUMBER_FLAG_DECIMAL

Added in API level 3
public static final int TYPE_NUMBER_FLAG_DECIMAL

Flag of TYPE_CLASS_NUMBER: the number is decimal, allowing a decimal point to provide fractional values.

Constant Value: 8192 (0x00002000)

TYPE_NUMBER_FLAG_SIGNED

Added in API level 3
public static final int TYPE_NUMBER_FLAG_SIGNED

Flag of TYPE_CLASS_NUMBER: the number is signed, allowing a positive or negative sign at the start.

Constant Value: 4096 (0x00001000)

TYPE_NUMBER_VARIATION_NORMAL

Added in API level 11
public static final int TYPE_NUMBER_VARIATION_NORMAL

Default variation of TYPE_CLASS_NUMBER: plain normal numeric text. This was added in Build.VERSION_CODES.HONEYCOMB. An IME must target this API version or later to see this input type; if it doesn't, a request for this type will be dropped when passed through EditorInfo.makeCompatible(int).

Constant Value: 0 (0x00000000)

TYPE_NUMBER_VARIATION_PASSWORD

Added in API level 11
public static final int TYPE_NUMBER_VARIATION_PASSWORD

Variation of TYPE_CLASS_NUMBER: entering a numeric password. This was added in Build.VERSION_CODES.HONEYCOMB. An IME must target this API version or later to see this input type; if it doesn't, a request for this type will be dropped when passed through EditorInfo.makeCompatible(int).

Constant Value: 16 (0x00000010)

TYPE_TEXT_FLAG_AUTO_COMPLETE

Added in API level 3
public static final int TYPE_TEXT_FLAG_AUTO_COMPLETE

Flag for TYPE_CLASS_TEXT: the text editor (which means the application) is performing auto-completion of the text being entered based on its own semantics, which it will present to the user as they type. This generally means that the input method should not be showing candidates itself, but can expect the editor to supply its own completions/candidates from InputMethodSession.displayCompletions() as a result of the editor calling InputMethodManager.displayCompletions(). Note the contrast with TYPE_TEXT_FLAG_AUTO_CORRECT and TYPE_TEXT_FLAG_NO_SUGGESTIONS: TYPE_TEXT_FLAG_AUTO_COMPLETE means the editor should show an interface for displaying suggestions, but instead of supplying its own it will rely on the Editor to pass completions/corrections.

Constant Value: 65536 (0x00010000)

TYPE_TEXT_FLAG_AUTO_CORRECT

Added in API level 3
public static final int TYPE_TEXT_FLAG_AUTO_CORRECT

Flag for TYPE_CLASS_TEXT: the user is entering free-form text that should have auto-correction applied to it. Without this flag, the IME will not try to correct typos. You should always set this flag unless you really expect users to type non-words in this field, for example to choose a name for a character in a game. Contrast this with TYPE_TEXT_FLAG_AUTO_COMPLETE and TYPE_TEXT_FLAG_NO_SUGGESTIONS: TYPE_TEXT_FLAG_AUTO_CORRECT means that the IME will try to auto-correct typos as the user is typing, but does not define whether the IME offers an interface to show suggestions.

Constant Value: 32768 (0x00008000)

TYPE_TEXT_FLAG_CAP_CHARACTERS

Added in API level 3
public static final int TYPE_TEXT_FLAG_CAP_CHARACTERS

Flag for TYPE_CLASS_TEXT: capitalize all characters. Overrides TYPE_TEXT_FLAG_CAP_WORDS and TYPE_TEXT_FLAG_CAP_SENTENCES. This value is explicitly defined to be the same as TextUtils#CAP_MODE_CHARACTERS. Of course, this only affects languages where there are upper-case and lower-case letters.

Constant Value: 4096 (0x00001000)

TYPE_TEXT_FLAG_CAP_SENTENCES

Added in API level 3
public static final int TYPE_TEXT_FLAG_CAP_SENTENCES

Flag for TYPE_CLASS_TEXT: capitalize the first character of each sentence. This value is explicitly defined to be the same as TextUtils#CAP_MODE_SENTENCES. For example in English it means to capitalize after a period and a space (note that other languages may have different characters for period, or not use spaces, or use different grammatical rules). Of course, this only affects languages where there are upper-case and lower-case letters.

Constant Value: 16384 (0x00004000)

TYPE_TEXT_FLAG_CAP_WORDS

Added in API level 3
public static final int TYPE_TEXT_FLAG_CAP_WORDS

Flag for TYPE_CLASS_TEXT: capitalize the first character of every word. Overrides TYPE_TEXT_FLAG_CAP_SENTENCES. This value is explicitly defined to be the same as TextUtils#CAP_MODE_WORDS. Of course, this only affects languages where there are upper-case and lower-case letters.

Constant Value: 8192 (0x00002000)

TYPE_TEXT_FLAG_ENABLE_TEXT_CONVERSION_SUGGESTIONS

Added in API level 33
public static final int TYPE_TEXT_FLAG_ENABLE_TEXT_CONVERSION_SUGGESTIONS

Flag for TYPE_CLASS_TEXT: Let the IME know the text conversion suggestions are required by the application. Text conversion suggestion is for the transliteration languages which has pronunciation characters and target characters. When the user is typing the pronunciation charactes, the IME could provide the possible target characters to the user. When this flag is set, the IME should insert the text conversion suggestions through Builder#setTextConversionSuggestions(List) and the TextAttribute with initialized with the text conversion suggestions is provided by the IME to the application. To receive the additional information, the application needs to implement InputConnection#setComposingText(CharSequence, int, TextAttribute), InputConnection#setComposingRegion(int, int, TextAttribute), and InputConnection#commitText(CharSequence, int, TextAttribute).

Constant Value: 1048576 (0x00100000)

TYPE_TEXT_FLAG_IME_MULTI_LINE

Added in API level 3
public static final int TYPE_TEXT_FLAG_IME_MULTI_LINE

Flag for TYPE_CLASS_TEXT: the regular text view associated with this should not be multi-line, but when a fullscreen input method is providing text it should use multiple lines if it can.

Constant Value: 262144 (0x00040000)

TYPE_TEXT_FLAG_MULTI_LINE

Added in API level 3
public static final int TYPE_TEXT_FLAG_MULTI_LINE

Flag for TYPE_CLASS_TEXT: multiple lines of text can be entered into the field. If this flag is not set, the text field will be constrained to a single line. The IME may also choose not to display an enter key when this flag is not set, as there should be no need to create new lines.

Constant Value: 131072 (0x00020000)

TYPE_TEXT_FLAG_NO_SUGGESTIONS

Added in API level 5
public static final int TYPE_TEXT_FLAG_NO_SUGGESTIONS

Flag for TYPE_CLASS_TEXT: the input method does not need to display any dictionary-based candidates. This is useful for text views that do not contain words from the language and do not benefit from any dictionary-based completions or corrections. It overrides the TYPE_TEXT_FLAG_AUTO_CORRECT value when set. Please avoid using this unless you are certain this is what you want. Many input methods need suggestions to work well, for example the ones based on gesture typing. Consider clearing TYPE_TEXT_FLAG_AUTO_CORRECT instead if you just do not want the IME to correct typos. Note the contrast with TYPE_TEXT_FLAG_AUTO_CORRECT and TYPE_TEXT_FLAG_AUTO_COMPLETE: TYPE_TEXT_FLAG_NO_SUGGESTIONS means the IME does not need to show an interface to display suggestions. Most IMEs will also take this to mean they do not need to try to auto-correct what the user is typing.

Constant Value: 524288 (0x00080000)

TYPE_TEXT_VARIATION_EMAIL_ADDRESS

Added in API level 3
public static final int TYPE_TEXT_VARIATION_EMAIL_ADDRESS

Variation of TYPE_CLASS_TEXT: entering an e-mail address.

Constant Value: 32 (0x00000020)

TYPE_TEXT_VARIATION_EMAIL_SUBJECT

Added in API level 3
public static final int TYPE_TEXT_VARIATION_EMAIL_SUBJECT

Variation of TYPE_CLASS_TEXT: entering the subject line of an e-mail.

Constant Value: 48 (0x00000030)

TYPE_TEXT_VARIATION_FILTER

Added in API level 3
public static final int TYPE_TEXT_VARIATION_FILTER

Variation of TYPE_CLASS_TEXT: entering text to filter contents of a list etc.

Constant Value: 176 (0x000000b0)

TYPE_TEXT_VARIATION_LONG_MESSAGE

Added in API level 3
public static final int TYPE_TEXT_VARIATION_LONG_MESSAGE

Variation of TYPE_CLASS_TEXT: entering the content of a long, possibly formal message such as the body of an e-mail.

Constant Value: 80 (0x00000050)

TYPE_TEXT_VARIATION_NORMAL

Added in API level 3
public static final int TYPE_TEXT_VARIATION_NORMAL

Default variation of TYPE_CLASS_TEXT: plain old normal text.

Constant Value: 0 (0x00000000)

TYPE_TEXT_VARIATION_PASSWORD

Added in API level 3
public static final int TYPE_TEXT_VARIATION_PASSWORD

Variation of TYPE_CLASS_TEXT: entering a password.

Constant Value: 128 (0x00000080)

TYPE_TEXT_VARIATION_PERSON_NAME

Added in API level 3
public static final int TYPE_TEXT_VARIATION_PERSON_NAME

Variation of TYPE_CLASS_TEXT: entering the name of a person.

Constant Value: 96 (0x00000060)

TYPE_TEXT_VARIATION_PHONETIC

Added in API level 3
public static final int TYPE_TEXT_VARIATION_PHONETIC

Variation of TYPE_CLASS_TEXT: entering text for phonetic pronunciation, such as a phonetic name field in contacts. This is mostly useful for languages where one spelling may have several phonetic readings, like Japanese.

Constant Value: 192 (0x000000c0)

TYPE_TEXT_VARIATION_POSTAL_ADDRESS

Added in API level 3
public static final int TYPE_TEXT_VARIATION_POSTAL_ADDRESS

Variation of TYPE_CLASS_TEXT: entering a postal mailing address.

Constant Value: 112 (0x00000070)

TYPE_TEXT_VARIATION_SHORT_MESSAGE

Added in API level 3
public static final int TYPE_TEXT_VARIATION_SHORT_MESSAGE

Variation of TYPE_CLASS_TEXT: entering a short, possibly informal message such as an instant message or a text message.

Constant Value: 64 (0x00000040)

TYPE_TEXT_VARIATION_URI

Added in API level 3
public static final int TYPE_TEXT_VARIATION_URI

Variation of TYPE_CLASS_TEXT: entering a URI.

Constant Value: 16 (0x00000010)

TYPE_TEXT_VARIATION_VISIBLE_PASSWORD

Added in API level 3
public static final int TYPE_TEXT_VARIATION_VISIBLE_PASSWORD

Variation of TYPE_CLASS_TEXT: entering a password, which should be visible to the user.

Constant Value: 144 (0x00000090)

TYPE_TEXT_VARIATION_WEB_EDIT_TEXT

Added in API level 3
public static final int TYPE_TEXT_VARIATION_WEB_EDIT_TEXT

Variation of TYPE_CLASS_TEXT: entering text inside of a web form.

Constant Value: 160 (0x000000a0)

TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS

Added in API level 11
public static final int TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS

Variation of TYPE_CLASS_TEXT: entering e-mail address inside of a web form. This was added in Build.VERSION_CODES.HONEYCOMB. An IME must target this API version or later to see this input type; if it doesn't, a request for this type will be seen as TYPE_TEXT_VARIATION_EMAIL_ADDRESS when passed through EditorInfo.makeCompatible(int).

Constant Value: 208 (0x000000d0)

TYPE_TEXT_VARIATION_WEB_PASSWORD

Added in API level 11
public static final int TYPE_TEXT_VARIATION_WEB_PASSWORD

Variation of TYPE_CLASS_TEXT: entering password inside of a web form. This was added in Build.VERSION_CODES.HONEYCOMB. An IME must target this API version or later to see this input type; if it doesn't, a request for this type will be seen as TYPE_TEXT_VARIATION_PASSWORD when passed through EditorInfo.makeCompatible(int).

Constant Value: 224 (0x000000e0)