1

我将在我的画布上同时有几个对象,并且需要检测用户在哪个对象上执行了手势。我能想到的唯一方法是将屏幕分成多个视图并在每个视图中收听,但这不是很有效,所以有没有人更好的方法,最好使用单独属于每个对象的单独手势检测器?

如果有人能帮助我,我将非常感激,因为我整天都在努力解决这个问题

4

2 回答 2

1

如果您在画布上跟踪对象的位置/命中框,您可以将其与 MotionEvent 中的 RawX 和 RawY 值进行比较。

于 2010-11-16T14:34:00.980 回答
0
  @Override
        public boolean onDoubleTap(MotionEvent e) {
            float e_x = e.getRawX();
            float e_y = e.getRawY();
            if(e_x > 100 && e_x < 200 && e_y > 400 && e_y < 600){
            // do something
            }
            return true ;
        }

这就是我所做的,只需检查坐标

于 2015-09-22T11:15:35.530 回答