2013-04-13 4 views
1

Я хочу точно преобразовать пиксели в дюймы и мм. Я попытался использовать все свойства displayMetrics, но не смог получить точные физические единицы в мобильном телефоне. Я также попытался использовать TypedValue.applyDimension но документация не так много пояснительная еще не повезло .. Может кто-нибудь предложить мне или даже дать мне маленький намек ..Android Convert Pixels to inchec, мм

Заранее спасибо

EDIT Это код, который я попытался с displayMetrics

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

и когда я пытался получить пикселей на дюйм с помощью displayMetrics.ydpi или displayMetrics.xdpi Я не получаю точные значения, поскольку проверяю его, рисуя линию этой длины на холсте и проверенную с помощью правильной линейки.

+0

Можете ли вы показать фрагмент кода, который не работает с помощью 'DisplayMetrics'? –

+0

Вы попробовали это? http://stackoverflow.com/a/8657132/1438733 – Eric

+0

@ Эрик спасибо за отзыв..и да, я пробовал этот код с 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);