我的Android项目中有2个矩形交集(一个比另一个大)。我使用了Rect.intersects(rect1,rect2)方法,它可以正常工作,但我应该知道它在哪里相交。例如,rect1.right与rect2.left等相交。有什么方法可以解决此问题?Example
我写了类似的东西来检测顶部或底部。但这给我2到5像素的错误。
if (Rect.intersects(rect2,rect1)){
//rect1 is smaller one
if (rect1.exactCenterY()<rect2.exactCenterY() - rect2.height()/2||
rect1.exactCenterY()>rect.exactCenterY() + rect2.height()/2){
//It is top or bottom
doSomething();
}else{
doSomething();
}
}
我希望你们能给我一些建议或其他解决方法。
最佳答案
如果您使用的是Rectangle类:
int x = (int) rect1.intersection(rect2).getX();
int y = (int) rect1.intersection(rect2).getY();
方法相交返回相交矩形。读出该矩形。希望这可以帮助。