2015-12-29 3 views
-1

Я разработал тестовое приложение, чтобы понять связанные с экраном плотности экрана Android. Я values.xml и strings.xml, имеющих соответствующие тестовые данные в следующую структуру папок:

значения \ dimen.xml (100dp)
значения-MDPI \ dimen.xml (100dp)
значения-ИПЧР \ DIMEN. XML (150dp)
значения-xhdpi \ dimen.xml (200dp)
значения-xxhdpi \ dimen.xml (300dp)
Android: путаница плотности экрана?

Я показываю эти данные о пользовательском интерфейсе, чтобы узнать, из которого приложение папки принимает данные для различаются размеры и плотность экрана. Таким образом, я получаю следующий результат:
1st device
2nd device

Проблема второе устройство с xxhdpi показывает мне 900dp значения, но в значения-xxhdpi \ dimen.xml значения является 300dp?

+4

Можете ли вы показать код, перевести DIMEN в текст ? – aelimill

+0

Да. 'sb.append (" Test Values: "+ getResources(). getDimension (R.dimen.up_dimen)); sb.append («Test Text:» + getResources(). GetString (R.string.testing_text)); ' –

+0

, если вы хотите, чтобы« необработанное »значение по причинам тестирования не использовало модификатор« dp », поскольку оно умножается на плотность экрана, взятую из DisplayMetrics. http://developer.android.com/intl/ru/reference/android/content/res/Resources.html#getDimension(int) – aelimill

ответ

1

900 - значение пикселей. Ваши один плюс 2 имеют плотность 3, это означает, что 300dp == 900px

0

Если это не подобрать правильное использование макета папки значения, как эти

  • значения
  • значения-ldpi
  • значение -mdpi
  • значения-ИПЧР
  • значения-xhdpi

    // добавлены папки

  • значения-w300dp-MDPI

  • значения-w600dp-MDPI

Добавить папки по мере необходимости

0

Sony Xperia J имеет 245 точек на дюйм экран и OnePlus 2 имеет экран 401 dpi, поэтому с этими значениями что-то не так.

Плотности заключаются в следующем:

  • ldpi (низкий) ~ 120dpi
  • MDPI (среда) ~ 160dpi
  • ИПЧР (высокий) ~ 240dpi
  • xhdpi (сверхвысокого) ~ 320dpi
  • xxhdpi (extra-extra-high) ~ 480dpi
  • xxxhdpi (сверх-extra-extra-high) ~ 640dpi

enter image description here

Так что это правильно, что ваше приложение принимает изображения из ИПЧР для Xperia J и каталог xxhdpi для OnePlus 2. Подробнее здесь: http://developer.android.com/guide/practices/screens_support.html

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