Added in API level 21

CursorAnchorInfo


class CursorAnchorInfo : Parcelable
kotlin.Any
   ↳ android.view.inputmethod.CursorAnchorInfo

Positional information about the text insertion point and characters in the composition string.

This class encapsulates locations of the text insertion point and the composition string in the screen coordinates so that IMEs can render their UI components near where the text is actually inserted.

Summary

Nested classes

Builder for CursorAnchorInfo.

Constants
static Int

Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds have at least one invisible (clipped) region.

static Int

Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds have at least one visible region.

static Int

Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds is placed at right-to-left (RTL) character.

Inherited constants
Public constructors

Public methods
Int

Boolean
equals(other: Any?)

Indicates whether some other object is "equal to" this one.

RectF!

Returns a new instance of RectF that indicates the location of the character specified with the index.

Int

Returns the flags associated with the character bounds specified with the index.

CharSequence!

Returns the entire composing text.

Int

Returns the index where the composing text starts.

EditorBoundsInfo?

Returns EditorBoundsInfo for the current editor, or null if IME is not subscribed with InputConnection#CURSOR_UPDATE_FILTER_EDITOR_BOUNDS or InputConnection#CURSOR_UPDATE_MONITOR.

Float

Returns the vertical baseline position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

Float

Returns the vertical bottom position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

Int

Returns the flag of the insertion marker.

Float

Returns the horizontal start of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

Float

Returns the vertical top position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

Matrix!

Returns a new instance of android.graphics.Matrix that indicates the transformation matrix that is to be applied other positional data in this class.

Int

Returns the index where the selection ends.

Int

Returns the index where the selection starts.

TextAppearanceInfo?

Returns TextAppearanceInfo for the current editor, or null if IME is not subscribed with InputConnection#CURSOR_UPDATE_FILTER_TEXT_APPEARANCE or InputConnection#CURSOR_UPDATE_MONITOR.

MutableList<RectF!>

Returns the list of RectFs indicating the locations of the visible line bounds in the editor.

Int

String

Unit
writeToParcel(dest: Parcel, flags: Int)

Used to package this object into a Parcel.

Properties
static Parcelable.Creator<CursorAnchorInfo!>

Used to make this class parcelable.

Constants

FLAG_HAS_INVISIBLE_REGION

Added in API level 21
static val FLAG_HAS_INVISIBLE_REGION: Int

Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds have at least one invisible (clipped) region.

Value: 2

FLAG_HAS_VISIBLE_REGION

Added in API level 21
static val FLAG_HAS_VISIBLE_REGION: Int

Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds have at least one visible region.

Value: 1

FLAG_IS_RTL

Added in API level 21
static val FLAG_IS_RTL: Int

Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the insertion marker or character bounds is placed at right-to-left (RTL) character.

Value: 4

Public constructors

CursorAnchorInfo

Added in API level 21
CursorAnchorInfo(source: Parcel!)

Public methods

describeContents

Added in API level 21
fun describeContents(): Int
Return
Int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or android.os.Parcelable#CONTENTS_FILE_DESCRIPTOR

equals

Added in API level 21
fun equals(other: Any?): Boolean

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • 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.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
obj This value may be null.
Return
Boolean true if this object is the same as the obj argument; false otherwise.

getCharacterBounds

Added in API level 21
fun getCharacterBounds(index: Int): RectF!

Returns a new instance of RectF that indicates the location of the character specified with the index.

Parameters
index Int: index of the character in a Java chars.
Return
RectF! the character bounds in local coordinates as a new instance of RectF.

getCharacterBoundsFlags

Added in API level 21
fun getCharacterBoundsFlags(index: Int): Int

Returns the flags associated with the character bounds specified with the index.

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

getComposingText

Added in API level 21
fun getComposingText(): CharSequence!

Returns the entire composing text.

Return
CharSequence! null if there is no composition.

getComposingTextStart

Added in API level 21
fun getComposingTextStart(): Int

Returns the index where the composing text starts.

Return
Int -1 if there is no composing text.

getEditorBoundsInfo

Added in API level 33
fun getEditorBoundsInfo(): EditorBoundsInfo?

Returns EditorBoundsInfo for the current editor, or null if IME is not subscribed with InputConnection#CURSOR_UPDATE_FILTER_EDITOR_BOUNDS or InputConnection#CURSOR_UPDATE_MONITOR.

getInsertionMarkerBaseline

Added in API level 21
fun getInsertionMarkerBaseline(): Float

Returns the vertical baseline position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

Return
Float y coordinate that is compatible with Layout#getLineBaseline(int). java.lang.Float.NaN if not specified.

getInsertionMarkerBottom

Added in API level 21
fun getInsertionMarkerBottom(): Float

Returns the vertical bottom position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

Return
Float y coordinate that is compatible with Layout#getLineBottom(int). java.lang.Float.NaN if not specified.

getInsertionMarkerFlags

Added in API level 21
fun getInsertionMarkerFlags(): Int

Returns the flag of the insertion marker.

Return
Int the flag of the insertion marker. 0 if no flag is specified.

getInsertionMarkerHorizontal

Added in API level 21
fun getInsertionMarkerHorizontal(): Float

Returns the horizontal start of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

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

getInsertionMarkerTop

Added in API level 21
fun getInsertionMarkerTop(): Float

Returns the vertical top position of the insertion marker, in the local coordinates that will be transformed with getMatrix() when rendered on the screen.

Return
Float y coordinate that is compatible with Layout#getLineTop(int). java.lang.Float.NaN if not specified.

getMatrix

Added in API level 21
fun getMatrix(): Matrix!

Returns a new instance of android.graphics.Matrix that indicates the transformation matrix that is to be applied other positional data in this class.

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

getSelectionEnd

Added in API level 21
fun getSelectionEnd(): Int

Returns the index where the selection ends.

Return
Int -1 if there is no selection.

getSelectionStart

Added in API level 21
fun getSelectionStart(): Int

Returns the index where the selection starts.

Return
Int -1 if there is no selection.

getTextAppearanceInfo

Added in API level 34
fun getTextAppearanceInfo(): TextAppearanceInfo?

Returns TextAppearanceInfo for the current editor, or null if IME is not subscribed with InputConnection#CURSOR_UPDATE_FILTER_TEXT_APPEARANCE or InputConnection#CURSOR_UPDATE_MONITOR.

getVisibleLineBounds

Added in API level 34
fun getVisibleLineBounds(): MutableList<RectF!>

Returns the list of RectFs indicating the locations of the visible line bounds in the editor.

Return
MutableList<RectF!> the visible line bounds in the local coordinates as a list of RectF. This value cannot be null.

hashCode

Added in API level 21
fun hashCode(): Int
Return
Int a hash code value for this object.

toString

Added in API level 21
fun toString(): String
Return
String a string representation of the object.

writeToParcel

Added in API level 21
fun writeToParcel(
    dest: Parcel,
    flags: Int
): Unit

Used to package this object into a Parcel.

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

Properties

CREATOR

Added in API level 21
static val CREATOR: Parcelable.Creator<CursorAnchorInfo!>

Used to make this class parcelable.