Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 触摸事件的问题_Android - Fatal编程技术网

Android 触摸事件的问题

Android 触摸事件的问题,android,Android,说到事件,我们知道触摸屏方法onTouchEvent(MotionEvent事件)允许您在屏幕上捕获触摸事件和event.getX()和 event.getY()将触摸的坐标作为浮点值提供给我​​(即价值观)​​用逗号) 具体地说,我意识到在手机屏幕上使用手指的固定点拍摄logcat,并且不移动它,事件不仅会被感知,而且MotionEvent.ACTION\u DOWN MotionEvent.ACTION\u MOVE和返回的坐标是多方面的。我可以理解这一点,因为通过读取设备坐标,手指表面接触

说到事件,我们知道触摸屏方法onTouchEvent(MotionEvent事件)允许您在屏幕上捕获触摸事件和event.getX()event.getY()将触摸的坐标作为浮点值提供给我​​(即价值观)​​用逗号)
具体地说,我意识到在手机屏幕上使用手指的固定点拍摄logcat,并且不移动它,事件不仅会被感知,而且MotionEvent.ACTION\u DOWN MotionEvent.ACTION\u MOVE和返回的坐标是多方面的。我可以理解这一点,因为通过读取设备坐标,手指表面接触的点越来越多。我相信手指在握住它时会移动。

我的问题是,当我握住你的手指时,我会读取彩色图像中一个像素的颜色。我特别需要手指占据的中心区域。 首先,假设您有一个位图对象,我必须舍入到触摸的整数坐标,因为整个位图的getPixel(intX,inty)坐标想要返回像素颜色
那我怎么才能找到中心接触点呢?是否有一个功能可以帮助我?请记住,当我停止并读取图像上像素的值时,我开始缓慢移动,即使我总是记录中心像素的每个移动。我需要这个,因为每次移动,如果你改变图像的颜色(以像素为单位),我都想振动或不振动设备。
如果我能停止思考自己在一个动态数组中存储不同像素的坐标并搜索重心,但移动我不知道该怎么办。然而,我认为,研究重心,如果做得不是很有效,在移动过程中可能会很慢,然后给出错误的结果。如果CG对我来说还不够,那么我可以将其转移到属于环境的另一个点。
我希望你能帮我写几行代码。
提前感谢。

当您想触摸事件发生时,您可以将自己放在主活动课上。让我们看看你能不能把下面的代码?回报也是最重要的

@Override
     public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
    mDistanceX = 0;
  }
  return super.onTouchEvent(event);
     }

要获得手指的触摸位置,只需将
getX()
getY()
转换为int并执行所需的任务

public boolean onTouchEvent(MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN ) {
      getPixelAt((int)event.getX(), (int)event.getY());
    }
}

请使用代码块格式化你的文章,以提高可读性。我不认为你的这种方式会吸引用户回答你的问题。