2012-10-31 47 views
1

是否有一个库可以与我的应用程序集成,该应用程序可以跟踪我应用程序中的所有触摸事件,并告诉我哪个触摸事件触摸了哪个UI元素。
如果不是,查看触摸事件的android文档,它只会给出一个运动事件,它提供有关触摸的x,y坐标的信息。有没有办法获得触摸事件触及的父UI元素?有没有办法从android touch event获取关于父UI元素的信息?

+3

如果你有触发事件触发的实际'View',那么你可以使用'view.getParent()' –

+0

我这样做了,但是因为我从服务器加载imageview的图像,所以每次加载活动时,getParent()都会给我一个新的ID。 – Abhinav

回答

0

尝试

MotionEvent.PointerProperties 

,而不是

MotionEvent.PointerCoords 

挂,我会去找的实施。

注意动作事件中的ACTION_OUTSIDE与您想要的相反,这可能很有用。

另外,onTouchListener给出了坐标,但我认为onClickListerner与触摸屏一起工作,并且是用于UI元素的。 是的,如果你不关心手势做到这一点:

new View.OnClickListener() { 

     public void onClick(View v) { 

     } 
    }; 

或以类似的方式添加OnTouchListener,我认为这是与用户界面元素相关联。

或Aleks G的view.getParent()的想法听起来不错。说实话,我希望我没有试图在我面前只用视觉工作室回答一个机器人问题。

+0

如果您发现实施请分享。我想使用onTouchListener,因为有些触摸可能不会导致UI元素操作。想一下热图类型的功能,我希望能够知道在我的应用中发生的所有触摸事件,并且知道哪些元素被触摸。当然,我可以找到x,y协调并将其绑定到UI元素位置,但寻找更优雅的解决方案。 – Abhinav

+1

http://stackoverflow.com/questions/9492573/where-should-i-implement-the-android-ontouchlistener检查了这一点 –

+0

有趣的回答上面的线程,从来没有想过使用单继承来处理触摸事件。 – Abhinav

相关问题