3

我想准确地将像素转换为英寸和毫米。我曾尝试使用所有属性,displayMetrics但未能在移动设备中获得确切的物理单位。我也尝试过使用TypedValue.applyDimension,但由于文档没有太多解释性仍然很不幸..任何人都可以建议我,甚至给我一个小提示..

提前致谢

编辑这是我尝试使用 displayMetrics 的代码

displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);

当我试图通过使用获得每英寸像素 数时,displayMetrics.ydpi或者displayMetrics.xdpi 我没有得到确切的值,因为我通过在画布上画一条这么长的线并用实际的标尺检查它来检查它。

4

1 回答 1

2

尝试这个

DisplayMetrics mDisplayMetric = this.getApplicationContext().getResources().getDisplayMetrics();
float anyPixel = View.getMeasuredWidth(); //you can get Pixel from anywhere, it is a example from view
float widthInches =  TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_IN, size.x, mDisplayMetric);
于 2015-08-10T23:06:15.717 回答