我的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();
}
}
我希望你们能给我一些建议或其他方法来解决它。
答案 0 :(得分:1)
如果您使用的是Rectangle类:
int x = (int) rect1.intersection(rect2).getX();
int y = (int) rect1.intersection(rect2).getY();
方法交点返回交叉矩形。读出那个矩形。希望这会有所帮助。
答案 1 :(得分:0)
if(rect2.setIntersects(rect2,rect1)){
if(rect2.left!=rect1.left){
//do something
}else if(rect2.right!=rect1.right){
//do something
}// and so on
}