Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android EditText's cursor coordinates (absolute position)

How can I get the coordinates of the cursor in the EditText ? I am not trying to get the cursor position here but the EditText coordinates of the cursor.

In my case, when I send a number via KeyEvent to the EditText, the cursor position (getSelectionStart) is changed, but its location is always at the right of the EditText.

I want to know the coordinates of the cursor (the right of the EditText).

like image 796
user607684 Avatar asked Feb 12 '26 19:02

user607684


1 Answers

It's a little bit late answer :), but from API level 21 (Lollipop) there is a way to do it:

  • Override onUpdateCursorAnchorInfo(CursorAnchorInfo cursorAnchorInfo) in your InputMethodService

  • and call inputConnection.requestCursorUpdates(int cursorUpdateMode) with CURSOR_UPDATE_MONITOR flag after you got the inputConnection.

The onUpdateCursorAnchorInfo will be called every time the cursor's position has changed. You can access the cursor's top right coordinates by cursorAnchorInfo.getInsertionMarkerHorizontal() (x) and cursorAnchorInfo.getInsertionMarkerTop() (y).

like image 151
bendaf Avatar answered Feb 14 '26 08:02

bendaf



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!