1
在我的应用程序中,用户将2个手指放在屏幕上。我想计算这两个触点之间的距离,以厘米为单位。目前,我可以使用onTouchEvent
中提供的x和y值来计算距离。但是那个距离不是物理距离。有什么建议么?Android:两个触摸位置之间的物理距离
在我的应用程序中,用户将2个手指放在屏幕上。我想计算这两个触点之间的距离,以厘米为单位。目前,我可以使用onTouchEvent
中提供的x和y值来计算距离。但是那个距离不是物理距离。有什么建议么?Android:两个触摸位置之间的物理距离
使用您计算出的像素间距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转换为厘米乘刚。
你的意思是'返回Math.sqrt(xDist + yDist);'? –
是好的。编辑我的答案。 – dharms
你能解释一下你的函数的参数吗?我很困惑。 –