2013-04-13 84 views
1

我想要將像素精確地轉換爲英寸和毫米。 我曾嘗試使用displayMetrics的所有屬性,但未能成功獲取移動設備中的確切物理單位。 我還試圖用TypedValue.applyDimension但由於文檔是沒有多少解釋仍然是不吉利的.. 任何人都可以給我建議,甚至給我一個小提示...提前Android將像素轉換爲inchec,毫米

感謝

編輯 這是代碼我試圖與displayMetrics

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

,當我試圖通過使用 獲得每英寸像素數或displayMetrics.xdpi 我沒有得到確切的值,因爲我通過在畫布上繪製了很長的一行來檢查它,並用實際的標尺進行了檢查。

+0

你能告訴的代碼,並沒有使用'DisplayMetrics'工作的一個片段? –

+0

你試過這個嗎? http://stackoverflow.com/a/8657132/1438733 – Eric

+0

@Eric感謝response..and是的,我曾嘗試與IN,MM,DIP等代碼..但沒有運氣 –

回答

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);