2011-12-23 14 views
5

Tôi đang sử dụng trình xử lý cảm ứng trên chế độ xem văn bản. Tôi có thể nhận được các tọa độ cảm ứng thông qua sự kiện chuyển động.Tọa độ chạm trong chế độ xem văn bản

Tôi có thể lấy chỉ số ký tự hoặc gần bằng tọa độ ký tự mà tôi đã nhấp vào không.

Ví dụ., Hello Android

Đây là văn bản của tôi. Bây giờ tôi có thể nhận được tọa độ x y nhưng tôi có thể lấy chỉ số ký tự, nói A, khi tôi chạm vào nó.

Trả lời

12

Bạn phải overide onTouch()

Hãy thử với những điều sau

public boolean onTouch(View v, MotionEvent event) { 
     // TODO Auto-generated method stub 
     Layout layout = ((TextView) v).getLayout(); 
      int x = (int)event.getX(); 
      int y = (int)event.getY(); 
      if (layout!=null){ 
       int line = layout.getLineForVertical(y); 
       int characterOffset = layout.getOffsetForHorizontal(line, x); 
       Log.i("index", ""+characterOffset); 
       } 
      return true; 


    } 
+0

này giúp tôi rất nhiều. đã xem xét cách đánh dấu văn bản trong chế độ xem văn bản. –