【发布时间】:2011-12-23 12:26:23
【问题描述】:
我在文本视图上使用触摸监听器。我可以通过运动事件获取触摸坐标。
我可以通过我点击的字符坐标获取字符索引或附近吗?
例如,Hello Android
这是我的文字。现在我可以得到 x y 坐标,但我可以得到字符索引,比如A,当我触摸它时。
【问题讨论】:
标签: android textview touch listener coordinates
我在文本视图上使用触摸监听器。我可以通过运动事件获取触摸坐标。
我可以通过我点击的字符坐标获取字符索引或附近吗?
例如,Hello Android
这是我的文字。现在我可以得到 x y 坐标,但我可以得到字符索引,比如A,当我触摸它时。
【问题讨论】:
标签: android textview touch listener coordinates
你必须覆盖 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;
}
【讨论】: