1
私のアプリでは、ユーザーは画面に2本の指を置くでしょう。私はセンチメートルで2つのタッチポイント間の距離を計算したいと思います。現在、私はonTouchEvent
で提供されているxとyの値を使って距離を計算することができます。しかし、その距離は物理的な距離ではありません。助言がありますか?Android:2タッチ位置間の物理的距離
私のアプリでは、ユーザーは画面に2本の指を置くでしょう。私はセンチメートルで2つのタッチポイント間の距離を計算したいと思います。現在、私はonTouchEvent
で提供されているxとyの値を使って距離を計算することができます。しかし、その距離は物理的な距離ではありません。助言がありますか?Android:2タッチ位置間の物理的距離
x
あなたの計算されたピクセル距離を使用してy
あなたはインチで距離を返すために、次を使用することができます。
public double getScreenDistance(double x1, double y1, double x2, double y2) {
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
double xDist = Math.pow(Math.abs(x1 - x2)/dm.xdpi, 2);
double yDist = Math.pow(Math.abs(y1 - y2)/dm.ydpi, 2);
return Math.sqrt(xDist + yDist);
}
その後2.54でちょうど乗算センチに変換します。
あなたは 'return Math.sqrt(xDist + yDist);'を意味しますか? –
はいいいえ。私の答えを編集しました。 – dharms
あなたの関数のパラメータを説明していただけますか?よくわかりません。 –