2015-10-14 25 views
6

tôi đặt hai con trỏ bên trong ACTION_POINTER_DOWNCách nhận khoảng cách giữa hai điểm trong Android?

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

Làm thế nào tôi có thể nhận được khoảng cách giữa hai điểm này? Có cách nào để lấy nó không?

Tôi muốn khoảng cách để thực hiện một số hiệu ứng Cuộn. Với khoảng cách, tôi có thể sử dụng nó như một máy tính tỷ lệ và thay đổi kích thước bố cục của tôi.

Tôi hy vọng ai đó có thể cho tôi biết cách thực hiện điều đó!

+2

Bạn có thể sử dụng lý thuyết Pythagoras để tính toán! –

Trả lời

11

của nó không chỉ Android ..

Chúng tôi nhớ từ lớp lượng giác rằng khoảng cách giữa hai điểm có thể được tính toán dựa trên lý Pythagore như chứng minh here

Nhưng trong mã cơ bản những gì bạn muốn là như sau:

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

đâu d là khoảng cách giữa hai điểm

+0

Tôi gặp lỗi ... sqrt (double) không thể áp dụng cho sqrt (double, double) –

+1

Xin lỗi, có lỗi đánh máy trong mã, tôi đã tính tổng hai ô vuông, nhưng vô tình thêm dấu phẩy. –

+1

Một nhà điều hành nhỏ tạo nên sự khác biệt! Cảm ơn vì giải pháp của bạn !! –

1

Tìm khoảng cách giữa 2 điểm không phải là Android cụ thể:

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)); 
Các vấn đề liên quan