CursorAnchorInfo
  public
  
  final
  
  class
  CursorAnchorInfo
  
    extends Object
  
  
  
  
  
      implements
      
        Parcelable
      
  
  
| java.lang.Object | |
| ↳ | 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 | |
|---|---|
| 
        
        
        
        
        class | CursorAnchorInfo.BuilderBuilder for  | 
| Constants | |
|---|---|
| int | FLAG_HAS_INVISIBLE_REGIONFlag for  | 
| int | FLAG_HAS_VISIBLE_REGIONFlag for  | 
| int | FLAG_IS_RTLFlag for  | 
| Inherited constants | 
|---|
| Fields | |
|---|---|
| 
    public
    static
    final
    Creator<CursorAnchorInfo> | CREATORUsed to make this class parcelable. | 
| Public constructors | |
|---|---|
| 
      CursorAnchorInfo(Parcel source)
       | |
| Public methods | |
|---|---|
| 
        
        
        
        
        
        int | 
      describeContents()
      Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. | 
| 
        
        
        
        
        
        boolean | 
      equals(Object obj)
      Indicates whether some other object is "equal to" this one. | 
| 
        
        
        
        
        
        RectF | 
      getCharacterBounds(int index)
      Returns a new instance of  | 
| 
        
        
        
        
        
        int | 
      getCharacterBoundsFlags(int index)
      Returns the flags associated with the character bounds specified with the index. | 
| 
        
        
        
        
        
        CharSequence | 
      getComposingText()
      Returns the entire composing text. | 
| 
        
        
        
        
        
        int | 
      getComposingTextStart()
      Returns the index where the composing text starts. | 
| 
        
        
        
        
        
        EditorBoundsInfo | 
      getEditorBoundsInfo()
      Returns  | 
| 
        
        
        
        
        
        float | 
      getInsertionMarkerBaseline()
      Returns the vertical baseline position of the insertion marker, in the local coordinates
 that will be transformed with  | 
| 
        
        
        
        
        
        float | 
      getInsertionMarkerBottom()
      Returns the vertical bottom position of the insertion marker, in the local coordinates
 that will be transformed with  | 
| 
        
        
        
        
        
        int | 
      getInsertionMarkerFlags()
      Returns the flag of the insertion marker. | 
| 
        
        
        
        
        
        float | 
      getInsertionMarkerHorizontal()
      Returns the horizontal start of the insertion marker, in the local coordinates that will
 be transformed with  | 
| 
        
        
        
        
        
        float | 
      getInsertionMarkerTop()
      Returns the vertical top position of the insertion marker, in the local coordinates that
 will be transformed with  | 
| 
        
        
        
        
        
        Matrix | 
      getMatrix()
      Returns a new instance of  | 
| 
        
        
        
        
        
        int | 
      getSelectionEnd()
      Returns the index where the selection ends. | 
| 
        
        
        
        
        
        int | 
      getSelectionStart()
      Returns the index where the selection starts. | 
| 
        
        
        
        
        
        TextAppearanceInfo | 
      getTextAppearanceInfo()
      Returns  | 
| 
        
        
        
        
        
        List<RectF> | 
      getVisibleLineBounds()
      Returns the list of  | 
| 
        
        
        
        
        
        int | 
      hashCode()
      Returns a hash code value for the object. | 
| 
        
        
        
        
        
        String | 
      toString()
      Returns a string representation of the object. | 
| 
        
        
        
        
        
        void | 
      writeToParcel(Parcel dest, int flags)
      Used to package this object into a  | 
| Inherited methods | |
|---|---|
Constants
FLAG_HAS_INVISIBLE_REGION
public static final int FLAG_HAS_INVISIBLE_REGION
Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the
 insertion marker or character bounds have at least one invisible (clipped) region.
Constant Value: 2 (0x00000002)
FLAG_HAS_VISIBLE_REGION
public static final int FLAG_HAS_VISIBLE_REGION
Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the
 insertion marker or character bounds have at least one visible region.
Constant Value: 1 (0x00000001)
FLAG_IS_RTL
public static final int FLAG_IS_RTL
Flag for getInsertionMarkerFlags() and getCharacterBoundsFlags(int): the
 insertion marker or character bounds is placed at right-to-left (RTL) character.
Constant Value: 4 (0x00000004)
Fields
CREATOR
public static final Creator<CursorAnchorInfo> CREATOR
Used to make this class parcelable.
Public constructors
CursorAnchorInfo
public CursorAnchorInfo (Parcel source)
| Parameters | |
|---|---|
| source | Parcel | 
Public methods
describeContents
public int describeContents ()
Describe the kinds of special objects contained in this Parcelable
 instance's marshaled representation. For example, if the object will
 include a file descriptor in the output of writeToParcel(android.os.Parcel, int),
 the return value of this method must include the
 CONTENTS_FILE_DESCRIPTOR bit.
| Returns | |
|---|---|
| int | a bitmask indicating the set of special object types marshaled
 by this Parcelable object instance.
 Value is either 0orCONTENTS_FILE_DESCRIPTOR | 
equals
public boolean equals (Object obj)
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 returntrue.
- It is symmetric: for any non-null reference values
     xandy,x.equals(y)should returntrueif and only ify.equals(x)returnstrue.
- It is transitive: for any non-null reference values
     x,y, andz, ifx.equals(y)returnstrueandy.equals(z)returnstrue, thenx.equals(z)should returntrue.
- It is consistent: for any non-null reference values
     xandy, multiple invocations ofx.equals(y)consistently returntrueor consistently returnfalse, provided no information used inequalscomparisons on the objects is modified.
- For any non-null reference value x,x.equals(null)should returnfalse.
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 | Object: This value may benull. | 
| Returns | |
|---|---|
| boolean | trueif this object is the same as the obj
          argument;falseotherwise. | 
getCharacterBounds
public RectF getCharacterBounds (int index)
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. | 
| Returns | |
|---|---|
| RectF | the character bounds in local coordinates as a new instance of RectF. | 
getCharacterBoundsFlags
public int getCharacterBoundsFlags (int index)
Returns the flags associated with the character bounds specified with the index.
| Parameters | |
|---|---|
| index | int: index of the character in a Java chars. | 
| Returns | |
|---|---|
| int | 0if no flag is specified. | 
getComposingText
public CharSequence getComposingText ()
Returns the entire composing text.
| Returns | |
|---|---|
| CharSequence | nullif there is no composition. | 
getComposingTextStart
public int getComposingTextStart ()
Returns the index where the composing text starts.
| Returns | |
|---|---|
| int | -1if there is no composing text. | 
getEditorBoundsInfo
public EditorBoundsInfo getEditorBoundsInfo ()
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.
| Returns | |
|---|---|
| EditorBoundsInfo | |
getInsertionMarkerBaseline
public float getInsertionMarkerBaseline ()
Returns the vertical baseline position of the insertion marker, in the local coordinates
 that will be transformed with getMatrix() when rendered on the screen.
| Returns | |
|---|---|
| float | y coordinate that is compatible with Layout.getLineBaseline(int).java.lang.Float.NaNif not specified. | 
getInsertionMarkerBottom
public float getInsertionMarkerBottom ()
Returns the vertical bottom position of the insertion marker, in the local coordinates
 that will be transformed with getMatrix() when rendered on the screen.
| Returns | |
|---|---|
| float | y coordinate that is compatible with Layout.getLineBottom(int).java.lang.Float.NaNif not specified. | 
getInsertionMarkerFlags
public int getInsertionMarkerFlags ()
Returns the flag of the insertion marker.
| Returns | |
|---|---|
| int | the flag of the insertion marker. 0if no flag is specified. | 
getInsertionMarkerHorizontal
public float getInsertionMarkerHorizontal ()
Returns the horizontal start of the insertion marker, in the local coordinates that will
 be transformed with getMatrix() when rendered on the screen.
| Returns | |
|---|---|
| float | x coordinate that is compatible with Layout.getPrimaryHorizontal(int).
 Pay special care to RTL/LTR handling.java.lang.Float.NaNif not specified. | 
See also:
getInsertionMarkerTop
public float getInsertionMarkerTop ()
Returns the vertical top position of the insertion marker, in the local coordinates that
 will be transformed with getMatrix() when rendered on the screen.
| Returns | |
|---|---|
| float | y coordinate that is compatible with Layout.getLineTop(int).java.lang.Float.NaNif not specified. | 
getMatrix
public Matrix getMatrix ()
Returns a new instance of Matrix that indicates the transformation
 matrix that is to be applied other positional data in this class.
| Returns | |
|---|---|
| Matrix | a new instance (copy) of the transformation matrix. | 
getSelectionEnd
public int getSelectionEnd ()
Returns the index where the selection ends.
| Returns | |
|---|---|
| int | -1if there is no selection. | 
getSelectionStart
public int getSelectionStart ()
Returns the index where the selection starts.
| Returns | |
|---|---|
| int | -1if there is no selection. | 
getTextAppearanceInfo
public TextAppearanceInfo getTextAppearanceInfo ()
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.
| Returns | |
|---|---|
| TextAppearanceInfo | |
getVisibleLineBounds
public List<RectF> getVisibleLineBounds ()
Returns the list of RectFs indicating the locations of the visible line bounds in
 the editor.
| Returns | |
|---|---|
| List<RectF> | the visible line bounds in the local coordinates as a list of RectF.
 This value cannot benull. | 
hashCode
public int hashCode ()
Returns a hash code value for the object. This method is
 supported for the benefit of hash tables such as those provided by
 HashMap.
 
 The general contract of hashCode is:
 
- Whenever it is invoked on the same object more than once during
     an execution of a Java application, the hashCodemethod must consistently return the same integer, provided no information used inequalscomparisons 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 equalsmethod, then calling thehashCodemethod 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 equalsmethod, then calling thehashCodemethod 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.
| Returns | |
|---|---|
| int | a hash code value for this object. | 
toString
public String toString ()
Returns a string representation of the object.
| Returns | |
|---|---|
| String | a string representation of the object. | 
writeToParcel
public void writeToParcel (Parcel dest, int flags)
Used to package this object into a Parcel.
| Parameters | |
|---|---|
| dest | Parcel: TheParcelto be written. | 
| flags | int: The flags used for parceling. | 
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
