Most visited

Recently visited

Added in API level 21

CursorAnchorInfo

public final class CursorAnchorInfo
extends Object implements Parcelable

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


有关组合字符串中文本插入点和字符的位置信息。

此类将文本插入点和组合字符串的位置封装在屏幕坐标中,以便IME可以在实际插入文本的位置附近呈现其UI组件。

Summary

Nested classes

class CursorAnchorInfo.Builder

生成器为CursorAnchorInfo

Constants

int FLAG_HAS_INVISIBLE_REGION

标志为 getInsertionMarkerFlags()getCharacterBoundsFlags(int) :插入标记或字符边界至少有一个不可见(剪切)区域。

int FLAG_HAS_VISIBLE_REGION

标志为 getInsertionMarkerFlags()getCharacterBoundsFlags(int) :插入标记或字符边界至少有一个可见区域。

int FLAG_IS_RTL

标志为 getInsertionMarkerFlags()getCharacterBoundsFlags(int) :插入标记或字符边界位于从右到左(RTL)字符处。

Inherited constants

From interface android.os.Parcelable

Fields

public static final Creator<CursorAnchorInfo> CREATOR

用于使这个类可以分类。

Public constructors

CursorAnchorInfo(Parcel source)

Public methods

int describeContents()

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

boolean equals(Object obj)

指示其他某个对象是否“等于”这一个。

RectF getCharacterBounds(int index)

返回 RectF的新实例,它指示索引指定的字符的位置。

int getCharacterBoundsFlags(int index)

返回与索引指定的字符边界关联的标志。

CharSequence getComposingText()

返回整个构成文本。

int getComposingTextStart()

返回组合文本开始处的索引。

float getInsertionMarkerBaseline()

返回本地坐标中插入标记的垂直基线位置,该坐标将在屏幕上呈现时使用 getMatrix()进行转换。

float getInsertionMarkerBottom()

返回插入标记的垂直底部位置,局部坐标将在屏幕上呈现时使用 getMatrix()进行转换。

int getInsertionMarkerFlags()

返回插入标记的标志。

float getInsertionMarkerHorizontal()

在本地坐标中返回插入标记的水平开始位置,这些坐标将在屏幕上显示时使用 getMatrix()进行转换。

float getInsertionMarkerTop()

返回插入标记的垂直顶部位置,在本地坐标中,将在屏幕上显示时使用 getMatrix()进行转换。

Matrix getMatrix()

返回 Matrix的新实例,该实例指示要在此类中应用其他位置数据的变换矩阵。

int getSelectionEnd()

返回选择结束的索引。

int getSelectionStart()

返回选择开始的索引。

int hashCode()

返回对象的哈希码值。

String toString()

返回对象的字符串表示形式。

void writeToParcel(Parcel dest, int flags)

用于将此对象打包成 Parcel

Inherited methods

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

Constants

FLAG_HAS_INVISIBLE_REGION

Added in API level 21
int FLAG_HAS_INVISIBLE_REGION

标志为 getInsertionMarkerFlags()getCharacterBoundsFlags(int) :插入标记或字符边界至少有一个不可见(剪切)区域。

常量值:2(0x00000002)

FLAG_HAS_VISIBLE_REGION

Added in API level 21
int FLAG_HAS_VISIBLE_REGION

标志为 getInsertionMarkerFlags()getCharacterBoundsFlags(int) :插入标记或字符边界至少有一个可见区域。

常数值:1(0x00000001)

FLAG_IS_RTL

Added in API level 21
int FLAG_IS_RTL

标志为 getInsertionMarkerFlags()getCharacterBoundsFlags(int) :插入标记或字符边界位于从右到左(RTL)字符处。

常量值:4(0x00000004)

Fields

CREATOR

Added in API level 21
Creator<CursorAnchorInfo> CREATOR

用于使这个类可以分类。

Public constructors

CursorAnchorInfo

Added in API level 21
CursorAnchorInfo (Parcel source)

Parameters
source Parcel

Public methods

describeContents

Added in API level 21
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.

equals

Added in API level 21
boolean equals (Object obj)

指示其他某个对象是否“等于”这一个。

equals方法在非空对象引用上实现等价关系:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

Objectequals方法实现了对象上最可能的等价关系; 也就是说,对于任何非空参考值xy ,当且仅当xy引用同一对象( x == y的值为true )时,此方法返回true

请注意,无论何时重写此方法,通常都必须重写 hashCode方法,以便维护 hashCode方法的一般合约,该方法声明相等对象必须具有相同的哈希代码。

Parameters
obj Object: the reference object with which to compare.
Returns
boolean true if this object is the same as the obj argument; false otherwise.

getCharacterBounds

Added in API level 21
RectF getCharacterBounds (int index)

返回 RectF的新实例,它指示用索引指定的字符的位置。

Parameters
index int: index of the character in a Java chars.
Returns
RectF the character bounds in local coordinates as a new instance of RectF.

getCharacterBoundsFlags

Added in API level 21
int getCharacterBoundsFlags (int index)

返回与索引指定的字符边界关联的标志。

Parameters
index int: index of the character in a Java chars.
Returns
int 0 if no flag is specified.

getComposingText

Added in API level 21
CharSequence getComposingText ()

返回整个构成文本。

Returns
CharSequence null if there is no composition.

getComposingTextStart

Added in API level 21
int getComposingTextStart ()

返回组合文本开始处的索引。

Returns
int -1 if there is no composing text.

getInsertionMarkerBaseline

Added in API level 21
float getInsertionMarkerBaseline ()

在本地坐标中返回插入标记的垂直基线位置,该坐标将在屏幕上呈现时使用 getMatrix()进行转换。

Returns
float y coordinate that is compatible with getLineBaseline(int). java.lang.Float.NaN if not specified.

getInsertionMarkerBottom

Added in API level 21
float getInsertionMarkerBottom ()

在本地坐标中返回插入标记的垂直底部位置,该坐标将在屏幕上显示时使用 getMatrix()进行转换。

Returns
float y coordinate that is compatible with getLineBottom(int). java.lang.Float.NaN if not specified.

getInsertionMarkerFlags

Added in API level 21
int getInsertionMarkerFlags ()

返回插入标记的标志。

Returns
int the flag of the insertion marker. 0 if no flag is specified.

getInsertionMarkerHorizontal

Added in API level 21
float getInsertionMarkerHorizontal ()

返回插入标记的水平开始位置,在本地坐标中,在屏幕上呈现时将使用 getMatrix()进行转换。

Returns
float x coordinate that is compatible with getPrimaryHorizontal(int). Pay special care to RTL/LTR handling. java.lang.Float.NaN if not specified.

也可以看看:

getInsertionMarkerTop

Added in API level 21
float getInsertionMarkerTop ()

在本地坐标中返回插入标记的垂直顶部位置,该坐标将在屏幕上呈现时使用 getMatrix()进行转换。

Returns
float y coordinate that is compatible with getLineTop(int). java.lang.Float.NaN if not specified.

getMatrix

Added in API level 21
Matrix getMatrix ()

返回 Matrix的新实例,该实例指示要在此类中应用其他位置数据的变换矩阵。

Returns
Matrix a new instance (copy) of the transformation matrix.

getSelectionEnd

Added in API level 21
int getSelectionEnd ()

返回选择结束的索引。

Returns
int -1 if there is no selection.

getSelectionStart

Added in API level 21
int getSelectionStart ()

返回选择开始的索引。

Returns
int -1 if there is no selection.

hashCode

Added in API level 21
int hashCode ()

返回对象的哈希码值。 为了散列表的好处而支持此方法,例如由HashMap提供的HashMap

hashCode的总合同是:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.

尽可能合理实用,类Object定义的hashCode方法确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但Java TM编程语言不需要此实现技术。)

Returns
int a hash code value for this object.

toString

Added in API level 21
String toString ()

返回对象的字符串表示形式。 通常, toString方法返回一个“文本表示”该对象的字符串。 结果应该是一个简洁但内容丰富的表述,对于一个人来说很容易阅读。 建议所有子类重写此方法。

ObjecttoString方法返回一个字符串,其中包含对象为实例的类的名称,符号字符“ @ ”以及对象的哈希代码的无符号十六进制表示形式。 换句话说,这个方法返回一个字符串,其值等于:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns
String a string representation of the object.

writeToParcel

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

用于将此对象打包成 Parcel

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

Hooray!