2012-10-31 80 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

相關問題