2015-10-10 118 views
0

我想知道應用程序如何處理來自觸摸屏的輸入。例如,如果用戶觸摸座標x,y,那麼打開的(在前臺活動的)應用程序將如何知道在座標x,y處的小工具(例如按鈕)現在必須被點擊?Android應用程序如何從觸摸屏接收輸入?

另外,我可以控制應用程序使用另一個應用程序處理觸摸輸入的方式嗎?我的意思是,我想要構建一個應用程序,它使用services來控制其他應用程序如何處理其輸入,當然這需要我的應用程序有permission來訪問其他應用程序設置,但我的問題是,是否有可能?

...我已經尋找應用程序如何處理觸摸輸入,我發現了這些結果,這是有用的,但我的情況不相關,

http://developer.android.com/training/gestures/index.html

How does Android device handle touch screen input?

而且,我知道任何輸入硬件在Android中由HAL (Hardware Abstraction Layer)控制,每個輸入設備也有自己的驅動程序。但是,應用程序如何處理來自這些設備的輸入?

謝謝。

回答

1

有幾種方法可以處理Android中的觸摸。

首先使用按鈕,您可以設置onClick()方法,當您觸摸屏幕時將自動觸發該方法。

另一種選擇是將onTouchlistener附加到您的活動。

在這個例子中一個名爲「示例」 id爲「exampleid」自定義視圖類是越來越重視到「onTouchListener

Public class Example extends View implements View.onTouchListener { 

public Example(Context context) { 
Example exampleView = (Example) findViewById(R.id.exampleid); //This is how you set up a onTouch Listener. 
    gameView.setOnTouchListener(this); 
} 

@Override 
public boolean onTouch(View v, MotionEvent event) { 

//Do something when touched. 
} 

} 
+0

謝謝你。但是,我想你是誤會我的問題。我不是指到我們如何使用一些代碼來處理這個問題,而是問我在操作系統和硬件層面會發生什麼,無論如何,您的答案仍然有用,謝謝。 – Dania