Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.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
Java 我怎样才能检测到Android中接触过的所有图像视图?_Java_Android_Android Imageview - Fatal编程技术网

Java 我怎样才能检测到Android中接触过的所有图像视图?

Java 我怎样才能检测到Android中接触过的所有图像视图?,java,android,android-imageview,Java,Android,Android Imageview,我正在尝试制作一个“点”克隆,我很难找出如何检测所有被手指一挥所触碰的图像视图。我相信我应该使用一个视图组,但不确定从那里去哪里,任何其他帮助将不胜感激 有很多方法可以做到这一点——这里是其中之一 创建一个RelativeLayout并为其提供一个id。在活动类中,找到此RelativeLayout并在其上设置一个OnTouchListener 现在填充包含图像视图的二维数组,并将其添加到RelativeLayout中 在OnTouch回调方法中,您可以访问MotionEvent对象,您可以查询

我正在尝试制作一个“点”克隆,我很难找出如何检测所有被手指一挥所触碰的图像视图。我相信我应该使用一个视图组,但不确定从那里去哪里,任何其他帮助将不胜感激

有很多方法可以做到这一点——这里是其中之一

创建一个RelativeLayout并为其提供一个id。在活动类中,找到此RelativeLayout并在其上设置一个
OnTouchListener

现在填充包含图像视图的二维数组,并将其添加到RelativeLayout中

OnTouch
回调方法中,您可以访问
MotionEvent
对象,您可以查询该对象以访问描述用户手指在屏幕上移动时的位置的运动事件。将提供的x和y坐标与二维阵列中图像视图的x和y位置进行比较,如果坐标与图像视图的坐标匹配,则将选定的图像视图添加到阵列列表中

 float x,y; //lets say these are populated with a point/average on your swipe path
 View element = ... ; //view representing one item in your array
 if ( x > element.getX() && x < element.getX() + element.getWidth() ) {
     //Collides with x axis, check y axis now
        //if that also colides, save this element in a set/list
 }
float x,y//假设这些在您的刷卡路径上填充了一个点/平均值
视图元素=//表示数组中一项的视图
if(x>element.getX()&&x

当用户从屏幕上抬起手指时,所有选定的图像视图都将存储在ArrayList中。

是否触摸或滑动?不相交的动作可以分配给这两个事件,这显然意味着通过滑动进行碰撞检测。善待新用户!用户提问时,您需要向我们展示您已经尝试过的内容。这不是一个自由职业者论坛,人们为你编写应用程序是得不到报酬的好答案,我将添加一段代码,不要生气,它只会帮助新用户解决一个常见问题
 float x,y; //lets say these are populated with a point/average on your swipe path
 View element = ... ; //view representing one item in your array
 if ( x > element.getX() && x < element.getX() + element.getWidth() ) {
     //Collides with x axis, check y axis now
        //if that also colides, save this element in a set/list
 }