我想知道应用程序如何处理来自触摸屏的输入。例如,如果用户触摸坐标x,y,那么打开(在前景中是活动的)应用程序将如何知道现在必须单击坐标x,y处的小工具(例如按钮)?
另外,我可以控制应用使用其他应用处理触摸输入的方式吗?我的意思是,我想构建一个使用services
来控制其他应用如何处理其输入的应用,当然这需要我的应用permission
来访问其他应用设置,但我的问题是,是有可能吗?
我已经搜索了应用程序如何处理触摸输入,我发现这些结果很有用,但与我的情况无关,
http://developer.android.com/training/gestures/index.html
How does Android device handle touch screen input?
另外,我知道任何输入硬件都由Android中的HAL (Hardware Abstraction Layer)
控制,每个输入设备也都有自己的驱动程序。但应用程序如何处理来自这些设备的输入?
谢谢。
答案 0 :(得分: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.
}
}