首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 獲取 EditText 光標在螢幕上的絕對坐標 (X, Y) 方法

     編輯:程式設計綜合問答

需求

EditText 較大,需獲取光標相對於整個螢幕的絕對坐標 (X, Y)。

實現思路

  1. 獲取 EditText 在窗口中的位置:int[] location = new int[2]; editText.getLocationOnScreen(location); 得到左上角 (x, y)。
  2. 獲取光標相對於 EditText 內部的偏移:Layout layout = editText.getLayout(); int cursorOffset = layout.getPrimaryHorizontal(editText.getSelectionStart()); int lineTop = layout.getLineTop(editText.getSelectionStart());
  3. 絕對坐標 = (location[0] + cursorOffset, location[1] + lineTop)。

參考資源

CSDN 博客完整示例:Android 獲取 EditText 光標絕對坐標

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved