Android ImageView碰撞检测?

Android ImageView碰撞检测?,android,imageview,collision,Android,Imageview,Collision,当两个图像视图相交时,我试图使某些事情发生。这是我使用的代码: Rect rect1 = new Rect(); imageView.getHitRect(rect1); Rect rect4 = new Rect(); imageView2.getHitRect(rect4); boolean collision = false; collision = rect1.intersect(rect4); if(collision = true){ button.setText("co

当两个图像视图相交时,我试图使某些事情发生。这是我使用的代码:

Rect rect1 = new Rect();
imageView.getHitRect(rect1);
Rect rect4 = new Rect();
imageView2.getHitRect(rect4);

boolean collision = false; 
collision = rect1.intersect(rect4);
if(collision = true){
    button.setText("collided"); 
}else
    button.setText("not collided"); 
但是,当应用程序启动时,布尔值刚刚更改为true。第一个ImageView保持静止,而另一个朝第一个ImageView移动(它不是精灵,但它朝第一个ImageView的方向移动并经过它)。我希望在两个ImageView相交时更改布尔值。有什么我遗漏的吗

试试这个:

 Rect rc1 = new Rect();
 imageView1.getDrawingRect(rc1);
 Rect rc2 = new Rect();
 imageView2.getDrawingRect(rc2);
 if (Rect.intersects(rc1, rc2) {
   // intersection is detected
   // here is your method call
 }

我在网上搜索了好几天,这对我来说很有用。太棒了

记得每秒钟检查一次碰撞之类的


很遗憾,您的awnser没有作为正确的提交。今天它帮助了我。非常感谢。我必须把这个代码放在计时器滴答声事件之外,让它工作。不知道为什么。有什么想法吗?