在屏幕上移动手指时读取视图

时间:2015-01-16 09:13:15

标签: android ontouchlistener ontouch

请帮忙,是否有可能做下一件事 - 用手指在屏幕上而不抬起鞋楦,程序会读取我花费的视图对象。

尝试使用onTouchListener,但是传递给onTouch的方法始终是视图,它正在触摸。

1 个答案:

答案 0 :(得分:0)

这不是一件容易的事。在您的根视图或活动中,您应该监视所有触摸事件。你可以通过覆盖activity的dispatchTouchEvent方法来实现这一点,而不需要制动超级运算。只是监视事件。

所以我们有活动。运行循环以在事件的坐标处重复查找视图(您可以找到多个视图)。做这样的事情:

for (int i = 0; i < contentViewCount; i++) {
    final View child = contentViews[i];
    child.getHitRect(frame);
    if (frame.contains(eventX, eventY) && child.getVisibility() == View.Visible) {
        if (child instanceOf ViewGroup) {
            // we found a view group and should run same loop on it's childs
        } else {
            // we found a view
        }
    }
}