2011-02-08 6 views
2

어떻게 EditText에서 커서의 좌표를 얻을 수 있습니까? 커서 위치를 얻으 려하지 않고 커서의 EditText 좌표를 얻으려고합니다.안드로이드 EditText의 커서 좌표 (절대 위치)

내 경우 KeyEvent를 통해 EditText로 번호를 보내면 커서 위치 (getSelectionStart)가 변경되지만 위치는 항상 EditText의 오른쪽에 있습니다.

커서의 좌표 (EditText의 오른쪽)를 알고 싶습니다.

+0

당신은 pls 수 있습니다. KeyEvent를 통해 숫자를 EditText에 보내는 방법에 대한 간단한 예제를 보여줍니다. 고마워. –

+0

sendKeys (KeyEvent.KEYCODE_1); – user607684

+0

너무 깁니다. mInstrumentation.sendStringSync ("1"); – user607684

답변

1

그것은 조금 늦게 대답 :)하지만 API 레벨 21 (롤리팝)에서 할 수있는 방법이 있습니다 : 함께 inputConnection.requestCursorUpdates(int cursorUpdateMode) 당신의 InputMethodService

  • onUpdateCursorAnchorInfo은 커서의 위치가 변경 될 때마다 호출됩니다. 커서의 오른쪽 상단 좌표에 cursorAnchorInfo.getInsertionMarkerHorizontal() (x) 및 cursorAnchorInfo.getInsertionMarkerTop() (y)까지 액세스 할 수 있습니다.