2011-12-23 97 views
5

我在文本视图上使用touch listener。我可以通过运动事件获得触摸坐标。在textview中触摸坐标

我可以通过单击字符坐标来获取字符索引或靠近字符坐标吗?

例如,Hello Android

这是我的文字。现在我可以得到xy坐标,但是当我触摸它时,我可以得到字符索引。

回答

12

你必须在此改变onTouch()

具有以下

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

这帮助了我很多尝试。一直在研究如何在textview中突出显示文本。 – 2012-02-03 03:21:07