user4729909
user4729909

Reputation:

How to get distance between two points in Android?

I set the two pointers inside ACTION_POINTER_DOWN

point1.set(event.getX(0),event.getY(0));
point2.set(event.getX(1),event.getY(1));

How can I get the distance between this two points? Is there any way to get it?

I want the distance to make some Scrolling effect. With the distance, I can use it like a scalefactor and resize my Layouts.

I hope someone can tell me how to do that!

Upvotes: 11

Views: 12072

Answers (3)

green.green.avk
green.green.avk

Reputation: 111

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

should perform a bit faster.

Math.hypot

Upvotes: 11

user3282666
user3282666

Reputation: 670

Finding distance between 2 points is not android specific:

    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));

Upvotes: 2

Pasi Matalamäki
Pasi Matalamäki

Reputation: 1853

Its not just Android..

We remember from trigonometry class that distance between two points can be calculated using Pythagorean Theorem as demonstrated here

But in code basically what you want is as follows:

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

Where d is distance between two points

Upvotes: 25

Related Questions