Most visited

Recently visited

Added in API level 3

EditorInfo

public class EditorInfo
extends Object implements InputType, Parcelable

java.lang.Object
   ↳ android.view.inputmethod.EditorInfo


EditorInfo描述输入方法与之通信的文本编辑对象的几个属性(通常是EditText),最重要的是它包含的文本内容的类型以及当前的光标位置。

Summary

Constants

int IME_ACTION_DONE

IME_MASK_ACTION位:操作键执行“完成”操作,通常意味着没有其他要输入的内容并且IME将被关闭。

int IME_ACTION_GO

IME_MASK_ACTION位:操作键执行“去”操作,将用户带到他们键入的文本的目标。

int IME_ACTION_NEXT

IME_MASK_ACTION位:操作键执行“下一步”操作,将用户带到将接受文本的下一个字段。

int IME_ACTION_NONE

IME_MASK_ACTION :没有可用的操作。

int IME_ACTION_PREVIOUS

IME_MASK_ACTION :与 IME_ACTION_NEXT ,但是用于移至前一个字段。

int IME_ACTION_SEARCH

IME_MASK_ACTION位:操作键执行“搜索”操作,让用户搜索他们键入的文本的结果(在任何适当的上下文中)。

int IME_ACTION_SEND

IME_MASK_ACTION位:操作键执行“发送”操作,将文本发送到其目标。

int IME_ACTION_UNSPECIFIED

IME_MASK_ACTION位:此编辑器没有具体的操作,编辑器可以自行设置。

int IME_FLAG_FORCE_ASCII

imeOptions标志:用于请求能够输入ASCII字符的IME。

int IME_FLAG_NAVIGATE_NEXT

imeOptions标志:用于指定前向导航可以关注的某些有趣内容。

int IME_FLAG_NAVIGATE_PREVIOUS

imeOptions标志:如 IME_FLAG_NAVIGATE_NEXT ,但指定有一些有趣的事情,即向后导航可以关注。

int IME_FLAG_NO_ACCESSORY_ACTION

标记 imeOptions :与 IME_MASK_ACTION屏蔽的操作之一结合使用时,表示当输入方法为全屏时,该操作不应作为提取文本右侧的附件按钮。

int IME_FLAG_NO_ENTER_ACTION

imeOptions :与 IME_MASK_ACTION所掩盖的 IME_MASK_ACTION操作结合使用。

int IME_FLAG_NO_EXTRACT_UI

imeOptions标志:用于指定IME不需要显示其提取的文本UI。

int IME_FLAG_NO_FULLSCREEN

imeOptions标志:用于请求IME永远不会进入全屏模式。

int IME_MASK_ACTION

imeOptions中提供与“输入”键相关的替代操作的位集。

int IME_NULL

通用未指定类型 imeOptions

Inherited constants

From interface android.text.InputType
From interface android.os.Parcelable

Fields

public static final Creator<EditorInfo> CREATOR

用于使这个类可以分类。

public int actionId

如果已经给出了 actionLabel ,那么当用户按下用 InputConnection.performEditorAction()递送的按钮时,这是该命令的 InputConnection.performEditorAction()

public CharSequence actionLabel

在某些情况下,IME可能能够显示用户可以执行的命令的任意标签,您可以在此指定它。

public Bundle extras

任何额外的数据提供给输入法。

public int fieldId

编辑器字段的标识符。

public String fieldName

编辑者字段的附加名称。

public LocaleList hintLocales

无论当前使用哪种输入法子类型,用户应该切换到的语言列表。

public CharSequence hintText

文本视图的“提示”文本,通常在文本为空时以内联方式显示,以告知用户要输入的内容。

public int imeOptions

编辑器的扩展类型信息,以帮助IME更好地与其集成。

public int initialCapsMode

正文中正在编辑的第一个字符的大小写模式。

public int initialSelEnd

编辑开始时选择结束的文本偏移量; -1如果不知道。

public int initialSelStart

编辑开始时选择开始的文本偏移量; -1如果不知道。

public int inputType

文本框的内容类型,其位数由 InputType定义。

public CharSequence label

向用户显示描述他们正在撰写的文本的标签。

public String packageName

拥有此编辑器的软件包的名称。

public String privateImeOptions

一个字符串,用于提供特定IME实现专用的附加信息选项。

Public constructors

EditorInfo()

Public methods

int describeContents()

描述此Parcelable实例的封送表示中包含的特殊对象的种类。

void dump(Printer pw, String prefix)

编写该对象的调试输出。

final void makeCompatible(int targetSdkVersion)

确保此EditorInfo中的数据与针对给定目标API版本开发的应用程序兼容。

void writeToParcel(Parcel dest, int flags)

用于将该对象打包成 Parcel

Inherited methods

From class java.lang.Object
From interface android.os.Parcelable

Constants

IME_ACTION_DONE

Added in API level 3
int IME_ACTION_DONE

IME_MASK_ACTION位:操作键执行“完成”操作,通常意味着没有其他要输入的内容并且IME将被关闭。

常数值:6(0x00000006)

IME_ACTION_GO

Added in API level 3
int IME_ACTION_GO

IME_MASK_ACTION位:操作键执行“执行”操作,将用户带到他们键入的文本的目标。 例如,通常在输入URL时使用。

常量值:2(0x00000002)

IME_ACTION_NEXT

Added in API level 3
int IME_ACTION_NEXT

IME_MASK_ACTION位:操作键执行“下一步”操作,将用户带到接受文本的下一个字段。

常量值:5(0x00000005)

IME_ACTION_NONE

Added in API level 3
int IME_ACTION_NONE

IME_MASK_ACTION比特:没有可用的操作。

常数值:1(0x00000001)

IME_ACTION_PREVIOUS

Added in API level 11
int IME_ACTION_PREVIOUS

IME_MASK_ACTION :类似于IME_ACTION_NEXT ,但是用于移至前一个字段。 这通常不会用于指定操作(因为它排除了IME_ACTION_NEXT ),但如果设置为IME_FLAG_NAVIGATE_PREVIOUS ,则可以将其返回到应用程序。

常量值:7(0x00000007)

IME_ACTION_SEARCH

Added in API level 3
int IME_ACTION_SEARCH

IME_MASK_ACTION位:操作键执行“搜索”操作,让用户搜索他们键入的文本(无论上下文是否合适)的搜索结果。

常量值:3(0x00000003)

IME_ACTION_SEND

Added in API level 3
int IME_ACTION_SEND

IME_MASK_ACTION位:操作键执行“发送”操作,将文本传送到其目标。 在立即发送即时消息或SMS中编写消息时通常会使用此功能。

常量值:4(0x00000004)

IME_ACTION_UNSPECIFIED

Added in API level 3
int IME_ACTION_UNSPECIFIED

IME_MASK_ACTION位:此编辑器没有具体的操作,编辑器可以自行编辑。

常量值:0(0x00000000)

IME_FLAG_FORCE_ASCII

Added in API level 16
int IME_FLAG_FORCE_ASCII

imeOptions标志:用于请求能够输入ASCII字符的IME。 该标志的用意是确保用户可以输入TextView罗马字母字符。 它通常用于帐户ID或密码输入。 很多时候,即使没有被告知,IME已经能够输入ASCII(这种IME已经在某种意义上尊重了这个标志),但是在某些情况下,这不是默认设置。 例如,使用不同脚本(如阿拉伯语,希腊语,希伯来语或俄语)的语言的用户通常会使用键盘,默认情况下不能输入ASCII字符。 应用程序需要意识到该标志不是保证,并且一些IME可能不尊重它。 但是,强烈建议IME作者尊重此标志,特别是在其IME最终可能处于仅启用使用非ASCII语言的状态时。

常量值:-2147483648(0x80000000)

IME_FLAG_NAVIGATE_NEXT

Added in API level 11
int IME_FLAG_NAVIGATE_NEXT

imeOptions标志:用于指定前向导航可以关注的某些有趣内容。 这就像使用IME_ACTION_NEXT ,除了允许IME为多行(带有回车键)以及提供前向导航之外。 请注意,有些IME可能无法做到这一点,特别是在小空间屏幕上运行时。 在这种情况下,它不需要为此选项提供UI。 IME_ACTION_NEXT一样,如果用户选择IME的工具来转发导航,这将显示在应用程序InputConnection.performEditorAction(int)

常量值:134217728(0x08000000)

IME_FLAG_NAVIGATE_PREVIOUS

Added in API level 11
int IME_FLAG_NAVIGATE_PREVIOUS

imeOptions标志:与IME_FLAG_NAVIGATE_NEXT一样,但指定了一些有趣的事情,即向后导航可以关注。 如果用户选择IME的设施向后导航,这将在应用程序中显示为IME_ACTION_PREVIOUSInputConnection.performEditorAction(int)InputConnection.performEditorAction(int)

常量值:67108864(0x04000000)

IME_FLAG_NO_ACCESSORY_ACTION

Added in API level 3
int IME_FLAG_NO_ACCESSORY_ACTION

标记imeOptions :与被IME_MASK_ACTION屏蔽的操作之一结合使用时,表示当输入方法为全屏时,该操作不应作为提取文本右侧的附件按钮。 请注意,通过设置此标志,可能会出现用户根本无法使用该操作的情况。 设置这通常意味着你认为在全屏模式下,没有足够的空间显示文本,不值得花一些屏幕空间来显示动作,而应该使用它来显示更多文本。

常量值:536870912(0x20000000)

IME_FLAG_NO_ENTER_ACTION

Added in API level 3
int IME_FLAG_NO_ENTER_ACTION

imeOptions标志:与被IME_MASK_ACTION屏蔽的其中一项操作一起使用。 如果此标志未设置,则IME通常会使用所提供的操作替换“输入”键。 该标志表示该行为不应该作为“输入”键的替代品在线提供。 通常这是因为该行为具有如此显着的影响,或者不可恢复,以至于应该避免意外触碰它,例如发送消息。 请注意, TextView会在多行文本视图中为您自动设置此标志。

常量值:1073741824(0x40000000)

IME_FLAG_NO_EXTRACT_UI

Added in API level 3
int IME_FLAG_NO_EXTRACT_UI

imeOptions标志:用于指定IME不需要显示其提取的文本UI。 对于可能全屏显示的输入法,通常在横向模式下,这可以通过全屏幕IME中的透明UI部分使它们更小,并让部分应用程序显示在后面。 用户可见的UI部分可能无法响应触摸,因为IME将接收触摸事件,这可能会混淆用户; 改用IME_FLAG_NO_FULLSCREEN代替更好的体验。 不鼓励使用此标志,将来可能会被弃用。 它的含义在某些情况下还不清楚,并且可能无法在老版本的平台上正常工作。

常量值:268435456(0x10000000)

IME_FLAG_NO_FULLSCREEN

Added in API level 11
int IME_FLAG_NO_FULLSCREEN

imeOptions标志:用于请求IME永远不会进入全屏模式。 默认情况下,IME可能会进入全屏模式,如果他们认为合适,例如在横向小屏幕中,显示软件键盘的屏幕可能会遮挡大部分屏幕,其余部分太小而不能有意义地显示应用程序UI。 如果设置了此标志,则兼容的IME将永远不会进入全屏模式,并且始终留出一些空间来显示应用程序UI。 应用程序需要知道该标志不是保证,并且一些IME可能会忽略它。

常量值:33554432(0x02000000)

IME_MASK_ACTION

Added in API level 3
int IME_MASK_ACTION

imeOptions中提供与“输入”键相关的替代操作的位集。 这两方面都有助于IME提供有关输入密钥的更好反馈,并允许它提供用于提供该命令的备用机制。

常量值:255(0x000000ff)

IME_NULL

Added in API level 3
int IME_NULL

通用未指定类型 imeOptions

常量值:0(0x00000000)

Fields

CREATOR

Added in API level 3
Creator<EditorInfo> CREATOR

用于使这个类可以分类。

actionId

Added in API level 3
int actionId

如果已经给出了 actionLabel ,那么当用户按下用 InputConnection.performEditorAction()返回的按钮时,这是该命令的 InputConnection.performEditorAction()

actionLabel

Added in API level 3
CharSequence actionLabel

在某些情况下,IME可能能够显示用户可以执行的命令的任意标签,您可以在此指定它。 这通常用作动作的标签,用于actionId使用以代替“输入”键(请参阅actionId )。 记住这个显示的关键通常是非常小的,并且在适用于所有支持的语言方面存在重大的本地化挑战。 你也不能完全依靠这个被使用的数据,因为一些IME可能会忽略这个。

extras

Added in API level 3
Bundle extras

任何额外的数据提供给输入法。 这是为了与特定的输入方法进行扩展通信; 包中的名称字段应该是有限的(例如“com.mydomain.im.SOME_FIELD”),以便它们不与其他人发生冲突。 该字段可以从TextView的editorExtras属性中填充。

fieldId

Added in API level 3
int fieldId

编辑器字段的标识符。 这是可选的,可以是0.默认情况下,在正在编辑的视图中填充View.getId()的结果。

fieldName

Added in API level 3
String fieldName

编辑者字段的附加名称。 这可以提供该字段的其他名称信息。 默认情况下它是空的。 实际的内容没有意义。

hintLocales

Added in API level 24
LocaleList hintLocales

无论当前使用哪种输入法子类型,用户应该切换到的语言列表。 这种特殊的“提示”可以主要用于但不限于希望IME自动切换语言上下文的多语言用户。

null意味着不需要特殊语言“提示”。

编辑器作者:只有在确信用户将在此上下文中切换到某些语言时指定此选项,无论当前选择了哪种输入法子类型。 否则,保持这个null 明确的用户操作和/或首选项将是指定此特殊“提示”的良好信号。例如,聊天应用程序可能能够基于用户将要与谁谈话的最后使用最后使用的语言在hintLocales ,记住上次对话中使用的语言。 不要仅指定getTextLocales()因为它用于文本呈现。

也可以看看:

hintText

Added in API level 3
CharSequence hintText

文本视图的“提示”文本,通常在文本为空时以内联方式显示,以告知用户要输入的内容。

imeOptions

Added in API level 3
int imeOptions

编辑器的扩展类型信息,以帮助IME更好地与其集成。

initialCapsMode

Added in API level 3
int initialCapsMode

正文中正在编辑的第一个字符的大小写模式。 值可以是任意组合TextUtils.CAP_MODE_CHARACTERSTextUtils.CAP_MODE_WORDS ,并TextUtils.CAP_MODE_SENTENCES ,虽然你通常应该只取一非零值指“在大写模式开始了”。

initialSelEnd

Added in API level 3
int initialSelEnd

编辑开始时选择结束的文本偏移量; -1如果不知道。 请记住,在不知道光标位置的情况下,很多IME将无法提供完整的功能集,并且可能会以不可预知的方式运行:如果可能,则传递实际的光标位置。

此外,即使输入是在与之前相同的文本字段中开始的,它现在也需要是光标位置,而不是过去的某个时间点。 当应用程序填充此对象时,输入即将按照定义开始,并且此值将覆盖应用程序以前可能传递给updateSelection(android.view.View, int, int, int, int)任何值。

initialSelStart

Added in API level 3
int initialSelStart

编辑开始时选择开始的文本偏移量; -1如果不知道。 请记住,在不知道光标位置的情况下,很多IME将无法提供完整的功能集,甚至可能会以不可预知的方式运行:如果可能,则传递实际的光标位置。

此外,即使输入是在与之前相同的文本字段中开始的,它现在也需要是光标位置,而不是过去的某个时间点。 当应用程序填充此对象时,输入将按定义开始,并且此值将覆盖应用程序之前可能已传递至updateSelection(android.view.View, int, int, int, int)任何值。

inputType

Added in API level 3
int inputType

文本框的内容类型,其位数由 InputType定义。

也可以看看:

label

Added in API level 3
CharSequence label

向用户显示描述他们正在撰写的文本的标签。

packageName

Added in API level 3
String packageName

拥有此编辑器的软件包的名称。

IME作者:在API级别22 LOLLIPOP_MR1及之前,不要相信此软件包名称。 系统没有验证包名和应用程序的uid之间的一致性。 考虑使用getUid() M开始,系统将EditorInfo传递给输入方法之前,验证此包名和应用程序uid之间的一致性。

编辑器作者:M开始,如果此处提供的包名称与应用程序的uid不一致,则应用程序不再能够建立输入连接。

privateImeOptions

Added in API level 3
String privateImeOptions

一个字符串,用于提供特定IME实现专用的附加信息选项。 字符串的范围必须是实现所拥有的包,以确保实现之间不存在冲突,但除此之外,您可以将任何想要的内容与IME进行通信。 例如,你可以有一个提供像"com.example.myapp.SpecialMode=3"这样的参数的字符串。 该字段可以从TextView的privateImeOptions属性中填写。

Public constructors

EditorInfo

Added in API level 3
EditorInfo ()

Public methods

describeContents

Added in API level 3
int describeContents ()

描述此Parcelable实例的封送表示中包含的特殊对象的种类。 例如,如果对象在writeToParcel(Parcel, int)的输出中包含writeToParcel(Parcel, int) ,则此方法的返回值必须包含CONTENTS_FILE_DESCRIPTOR位。

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance.

dump

Added in API level 3
void dump (Printer pw, 
                String prefix)

编写该对象的调试输出。

Parameters
pw Printer
prefix String

makeCompatible

Added in API level 11
void makeCompatible (int targetSdkVersion)

确保此EditorInfo中的数据与针对给定目标API版本开发的应用程序兼容。 这会影响下面的输入类型: TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESSTYPE_TEXT_VARIATION_WEB_PASSWORDTYPE_NUMBER_VARIATION_NORMALTYPE_NUMBER_VARIATION_PASSWORD

这由输入方法实现的框架调用; 你通常不需要自己打电话。

Parameters
targetSdkVersion int: The API version number that the compatible application was developed against.

writeToParcel

Added in API level 3
void writeToParcel (Parcel dest, 
                int flags)

用于将此对象打包成 Parcel

Parameters
dest Parcel: The Parcel to be written.
flags int: The flags used for parceling.

Hooray!