public interface InputType
Editable
object. Supported classes may be combined
with variations and flags to indicate desired behaviors.
Modifier and Type | Field and Description |
---|---|
static int |
TYPE_CLASS_DATETIME
Class for dates and times.
|
static int |
TYPE_CLASS_NUMBER
Class for numeric text.
|
static int |
TYPE_CLASS_PHONE
Class for a phone number.
|
static int |
TYPE_CLASS_TEXT
Class for normal text.
|
static int |
TYPE_DATETIME_VARIATION_DATE
Default variation of
TYPE_CLASS_DATETIME : allows entering
only a date. |
static int |
TYPE_DATETIME_VARIATION_NORMAL
Default variation of
TYPE_CLASS_DATETIME : allows entering
both a date and time. |
static int |
TYPE_DATETIME_VARIATION_TIME
Default variation of
TYPE_CLASS_DATETIME : allows entering
only a time. |
static int |
TYPE_MASK_CLASS
Mask of bits that determine the overall class
of text being given.
|
static int |
TYPE_MASK_FLAGS
Mask of bits that provide addition bit flags
of options.
|
static int |
TYPE_MASK_VARIATION
Mask of bits that determine the variation of
the base content class.
|
static int |
TYPE_NULL
Special content type for when no explicit type has been specified.
|
static int |
TYPE_NUMBER_FLAG_DECIMAL
Flag of
TYPE_CLASS_NUMBER : the number is decimal, allowing
a decimal point to provide fractional values. |
static int |
TYPE_NUMBER_FLAG_SIGNED
Flag of
TYPE_CLASS_NUMBER : the number is signed, allowing
a positive or negative sign at the start. |
static int |
TYPE_NUMBER_VARIATION_NORMAL
Default variation of
TYPE_CLASS_NUMBER : plain normal
numeric text. |
static int |
TYPE_NUMBER_VARIATION_PASSWORD
Variation of
TYPE_CLASS_NUMBER : entering a numeric password. |
static 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. |
static 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. |
static int |
TYPE_TEXT_FLAG_CAP_CHARACTERS
Flag for
TYPE_CLASS_TEXT : capitalize all characters. |
static int |
TYPE_TEXT_FLAG_CAP_SENTENCES
Flag for
TYPE_CLASS_TEXT : capitalize the first character of
each sentence. |
static int |
TYPE_TEXT_FLAG_CAP_WORDS
Flag for
TYPE_CLASS_TEXT : capitalize the first character of
every word. |
static 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. |
static int |
TYPE_TEXT_FLAG_MULTI_LINE
Flag for
TYPE_CLASS_TEXT : multiple lines of text can be
entered into the field. |
static int |
TYPE_TEXT_FLAG_NO_SUGGESTIONS
Flag for
TYPE_CLASS_TEXT : the input method does not need to
display any dictionary-based candidates. |
static int |
TYPE_TEXT_VARIATION_EMAIL_ADDRESS
Variation of
TYPE_CLASS_TEXT : entering an e-mail address. |
static int |
TYPE_TEXT_VARIATION_EMAIL_SUBJECT
Variation of
TYPE_CLASS_TEXT : entering the subject line of
an e-mail. |
static int |
TYPE_TEXT_VARIATION_FILTER
Variation of
TYPE_CLASS_TEXT : entering text to filter contents
of a list etc. |
static 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. |
static int |
TYPE_TEXT_VARIATION_NORMAL
Default variation of
TYPE_CLASS_TEXT : plain old normal text. |
static int |
TYPE_TEXT_VARIATION_PASSWORD
Variation of
TYPE_CLASS_TEXT : entering a password. |
static int |
TYPE_TEXT_VARIATION_PERSON_NAME
Variation of
TYPE_CLASS_TEXT : entering the name of a person. |
static int |
TYPE_TEXT_VARIATION_PHONETIC
Variation of
TYPE_CLASS_TEXT : entering text for phonetic
pronunciation, such as a phonetic name field in contacts. |
static int |
TYPE_TEXT_VARIATION_POSTAL_ADDRESS
Variation of
TYPE_CLASS_TEXT : entering a postal mailing address. |
static 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. |
static int |
TYPE_TEXT_VARIATION_URI
Variation of
TYPE_CLASS_TEXT : entering a URI. |
static int |
TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
Variation of
TYPE_CLASS_TEXT : entering a password, which should
be visible to the user. |
static int |
TYPE_TEXT_VARIATION_WEB_EDIT_TEXT
Variation of
TYPE_CLASS_TEXT : entering text inside of a web form. |
static int |
TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS
Variation of
TYPE_CLASS_TEXT : entering e-mail address inside
of a web form. |
static int |
TYPE_TEXT_VARIATION_WEB_PASSWORD
Variation of
TYPE_CLASS_TEXT : entering password inside
of a web form. |
static final int TYPE_MASK_CLASS
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.
static final int TYPE_MASK_VARIATION
static final int TYPE_MASK_FLAGS
static final int TYPE_NULL
static final int TYPE_CLASS_TEXT
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.static final int TYPE_TEXT_FLAG_CAP_CHARACTERS
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.static final int TYPE_TEXT_FLAG_CAP_WORDS
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.static final int TYPE_TEXT_FLAG_CAP_SENTENCES
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.static final int TYPE_TEXT_FLAG_AUTO_CORRECT
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.static final int TYPE_TEXT_FLAG_AUTO_COMPLETE
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.static final int TYPE_TEXT_FLAG_MULTI_LINE
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.static final int TYPE_TEXT_FLAG_IME_MULTI_LINE
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.static final int TYPE_TEXT_FLAG_NO_SUGGESTIONS
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 should never
show an interface to display suggestions. Most IMEs will also take this to
mean they should not try to auto-correct what the user is typing.static final int TYPE_TEXT_VARIATION_NORMAL
TYPE_CLASS_TEXT
: plain old normal text.static final int TYPE_TEXT_VARIATION_URI
TYPE_CLASS_TEXT
: entering a URI.static final int TYPE_TEXT_VARIATION_EMAIL_ADDRESS
TYPE_CLASS_TEXT
: entering an e-mail address.static final int TYPE_TEXT_VARIATION_EMAIL_SUBJECT
TYPE_CLASS_TEXT
: entering the subject line of
an e-mail.static final int TYPE_TEXT_VARIATION_SHORT_MESSAGE
TYPE_CLASS_TEXT
: entering a short, possibly informal
message such as an instant message or a text message.static final int TYPE_TEXT_VARIATION_LONG_MESSAGE
TYPE_CLASS_TEXT
: entering the content of a long, possibly
formal message such as the body of an e-mail.static final int TYPE_TEXT_VARIATION_PERSON_NAME
TYPE_CLASS_TEXT
: entering the name of a person.static final int TYPE_TEXT_VARIATION_POSTAL_ADDRESS
TYPE_CLASS_TEXT
: entering a postal mailing address.static final int TYPE_TEXT_VARIATION_PASSWORD
TYPE_CLASS_TEXT
: entering a password.static final int TYPE_TEXT_VARIATION_VISIBLE_PASSWORD
TYPE_CLASS_TEXT
: entering a password, which should
be visible to the user.static final int TYPE_TEXT_VARIATION_WEB_EDIT_TEXT
TYPE_CLASS_TEXT
: entering text inside of a web form.static final int TYPE_TEXT_VARIATION_FILTER
TYPE_CLASS_TEXT
: entering text to filter contents
of a list etc.static final int TYPE_TEXT_VARIATION_PHONETIC
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.static final int TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS
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)
.static final int TYPE_TEXT_VARIATION_WEB_PASSWORD
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)
.static final int TYPE_CLASS_NUMBER
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.
static final int TYPE_NUMBER_FLAG_SIGNED
TYPE_CLASS_NUMBER
: the number is signed, allowing
a positive or negative sign at the start.static final int TYPE_NUMBER_FLAG_DECIMAL
TYPE_CLASS_NUMBER
: the number is decimal, allowing
a decimal point to provide fractional values.static final int TYPE_NUMBER_VARIATION_NORMAL
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)
.static final int TYPE_NUMBER_VARIATION_PASSWORD
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)
.static final int TYPE_CLASS_PHONE
static final int TYPE_CLASS_DATETIME
TYPE_DATETIME_VARIATION_NORMAL
TYPE_DATETIME_VARIATION_DATE
, and
TYPE_DATETIME_VARIATION_TIME
.static final int TYPE_DATETIME_VARIATION_NORMAL
TYPE_CLASS_DATETIME
: allows entering
both a date and time.static final int TYPE_DATETIME_VARIATION_DATE
TYPE_CLASS_DATETIME
: allows entering
only a date.static final int TYPE_DATETIME_VARIATION_TIME
TYPE_CLASS_DATETIME
: allows entering
only a time.