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

8 android point

我在里面设置了两个指针 ACTION_POINTER_DOWN

point1.set(event.getX(0),event.getY(0));
point2.set(event.getX(1),event.getY(1));
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到这两点之间的距离?有没有办法得到它?

我希望距离能够产生一些滚动效果.通过距离,我可以像scalefactor一样使用它并调整我的Layouts大小.

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

Pas*_*äki 19

它不仅仅是Android ..

我们记得,从三角类可以用勾股定理作为证明来计算两点之间的距离在这里

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

double d = Math.sqrt(Math.pow(event.getX(1) - event.getX(0), 2) + Math.pow(event.getY(1) - event.getY(0), 2));
Run Code Online (Sandbox Code Playgroud)

其中d是两点之间的距离


小智 7

Math.hypot(x1 - x2, y1 - y2)
Run Code Online (Sandbox Code Playgroud)

应该执行得快一点。

数学假设

  • 我认为如果您添加一个简短的解释来解释为什么这应该更快一点,您的答案会更好。 (2认同)