【发布时间】:2010-06-30 18:11:19
【问题描述】:
我一直在尝试编写一个在 Android 中识别自定义事件的小应用程序:您将手指放在 TextView 上一段时间,它会改变颜色。我正在使用 MotionEvent 坐标并检查它们是否在表格内的特定 TextView 的范围内。
private boolean checkBounds(TextView v, MotionEvent event) {
int[] origin = new int[2];
v.getLocationOnScreen(origin);
if ((event.getX() > origin[0]) && (event.getX() < (origin[0] + v.getMeasuredWidth()))) {
if ((event.getY() > origin[1]) && (event.getY() < (origin[1] + v.getMeasuredHeight()))) {
return true;
}
}
return false;
}
我只是将 onTouch 侦听器附加到活动中的表。但我得到了奇怪的错误:坐标似乎被一个视图关闭(即,如果我触摸下面的视图,上面的视图会做出反应);或者有时一个人会做出反应,而另一个人不会。知道会发生什么吗?
【问题讨论】:
标签: android events coordinates touch