2012-05-02 2 views

ответ

1

dpi обозначает точки на дюйм и является физической характеристикой любого экрана.

Вы можете получить доступ к значениям x и y dpi, изучив поля и ydpi класса DisplayMetrics. Чтобы получить DisplayMetrics использовать что-то вроде следующего ...

DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 
float x = metrics.xdpi; // Retrieve the x dpi value 
float y = metrics.ydpi; // Retrieve the y dpi value 
2

точек на дюйм обозначает количество точек на дюйм. В android используется для обозначения плотности экрана мобильного устройства.

Android смартфоны поддерживают 4 типа точек на дюйм

  1. низкой плотности (120), ldpi
  2. средней плотности (160), MDPI
  3. высокой плотности (240), ИПЧР
  4. экстра высокой плотности (320), xhdpi

Вы можете получить информацию на дисплее из DisplayMetrics структуры:

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

Для получения дополнительной информации о размерах экрана посетите http://developer.android.com/guide/practices/screens_support.html.

0

Возможно, игра с калькулятором DP будет иллюстрировать, как это работает. This nifty converter demonstrates it best, на мой взгляд.

Он иллюстрирует, как размеры пикселей выглядят как разные размеры экрана между экранами разных плотностей. Например, 48px будет отображаться вдвое большим на экране с удвоенным DPI.

Существуют различные DPI контейнеры, известные Android:

  • ldpi, 120 точек на дюйм
  • MDPI, 160 точек на дюйм
  • tvdpi, 213 точек на дюйм
  • ИПЧР, 240 точек на дюйм
  • xhdpi, 320 dpi
  • xxhdpi, 480 dpi
  • xxxhdpi, 640 dpi

Базовая линия DPI 160 (mdpi), при которой 1dp = 1px.При удвоении этого значения 320 (xhdpi), 1dp = 2px.

Смежные вопросы