我想准确地将像素转换为英寸和毫米。
我曾尝试使用displayMetrics
的所有属性,但未能成功获取移动设备中的确切物理单位。
我也尝试使用TypedValue.applyDimension
,但因为文档没有太多解释仍然是不吉利的..
任何人都可以建议我,甚至给我一个小提示..
先谢谢
EDIT 这是我用displayMetrics
尝试的代码 displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
当我试图通过使用获得每英寸像素数
displayMetrics.ydpi
或displayMetrics.xdpi
我没有得到确切的值,因为我通过在画布上绘制一条很长的线并用实际标尺检查来检查它。
答案 0 :(得分:1)
试试这个
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);