如何在Android中获得两点之间的距离?

时间:2015-10-14 10:13:44

标签: android point

我在ACTION_POINTER_DOWN

中设置了两个指针
point1.set(event.getX(0),event.getY(0));
point2.set(event.getX(1),event.getY(1));

如何获得这两点之间的距离? 有没有办法得到它?

我希望距离能够产生一些滚动效果。通过距离,我可以像缩放因子一样使用它并调整我的布局。

我希望有人能告诉我该怎么做!

3 个答案:

答案 0 :(得分:17)

它不仅仅是Android ..

我们记得三角学分类可以使用毕达哥拉斯定理计算两点之间的距离,如here所示

但在代码中基本上你想要的是如下:

double d = Math.sqrt(Math.pow(event.getX(1) - event.getX(0), 2) + Math.pow(event.getY(1) - event.getY(0), 2));

其中d是两点之间的距离

答案 1 :(得分:1)

找到2点之间的距离不是特定于Android的:

    double x1 = event.getX(1);
    double y1 = event.getY(1);
    double x2 = event.getX(0);
    double y2 = event.getY(0);
    double x = Math.sqrt(Math.pow(x2 - x1, 2) - Math.pow(y2 - y1, 2));

答案 2 :(得分:0)

Math.hypot(x1 - x2, y1 - y2)

应该执行得更快。