Размеры экрана Android в пикселях для ldpi, mdpi, hpdi?

Я прочитал 10 статей, но все же не могу найти никакого отношения между ldpi, mdpi, hdpi и фактическими размерами в пикселях !? Может ли кто-нибудь дать прямой ответ, пожалуйста (если он есть!)

Я в основном пытаюсь собрать заставку, которая должна работать на нескольких устройствах без растягивания – но я боюсь, поскольку все, что я пытаюсь, либо раздавлено, либо растянуто !?

Cheers Paul

Ldpi, mdpi и hdpi относятся к плотности экрана, а это значит, сколько пикселей может вписаться в один дюйм.

соотношение между пикселями между ними:

  • ldpi = 1: 0,75
  • mdpi = 1: 1
  • hdpi = 1: 1,5
  • xhdpi = 1: 2
  • xxhdpi = 1: 3
  • xxxhdpi = 1: 4

поэтому давайте возьмем изображение размером около 100X100:

  • для mdpi он должен быть 100X100
  • для ldpi это должно быть 75X75
  • для hdpi должно быть 150X150
  • для xhdpi должно быть 200X200
  • для xxhdpi должно быть 300X300
  • для xxxhdpi должно быть 400X400

таким образом, для экранов с одинаковым размером, но с разными DPI, все изображения кажутся одинаковыми по размеру на экране.

Кроме того, у вас есть несколько типов размера экрана: маленький, нормальный, большой, большой, и каждый из них может быть ldpi, mdpi, hdpi, xhdpi, xxhdpi (Nexus 10) или xxxhdpi.

Вы можете попытаться создать образ заставки, который подходит для каждого типа экрана, который дает вам 4 * 5 = 20 разных изображений (для меня это очень похоже).

Пока что только Nexus 10 находится в категории xxhdpi.

Установите ImageMagick и используйте этот сценарий оболочки для генерации ваших всплесков и файлов значков для нескольких устройств – iOS, Android, Bada и Windows Phone. Вы можете использовать cygwin / gitbash, если находитесь в Windows

Я только что сделал, и я очень доволен этим 🙂

Размеры экрана находятся внутри скрипта и являются –

480x800 - screen-hdpi-portrait.png 320x200 - screen-ldpi-landscape.png 720x1280 - screen-xhdpi-portrait.png 320x480 - screen-mdpi-portrait.png 480x320 - screen-mdpi-landscape.png 200x320 - screen-ldpi-portrait.png 800x480 - screen-hdpi-landscape.png 

Определения:

  • xlarge экраны не менее 960dp x 720dp. большие экраны не менее 640dp x 480dp. нормальные экраны не менее 470dp x 320dp. маленькие экраны составляют не менее 426dp x 320dp. (Android в настоящее время не поддерживает экраны меньше этого.)

Кроме того, ознакомьтесь с этим блогером от Dianne Hackborne: http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html

Наверное, проще всего использовать представление изображения и задать тип сканера CENTER_CROP. (Масштабируйте изображение равномерно (поддерживайте пропорции изображения), чтобы оба размера (ширина и высота) изображения были равны или больше соответствующего размера представления).

Убедитесь, что вы используете тег src, а не устанавливаете фон.

  

Обновлено:

Понимание плотности экрана и «dp»

Разрешение – это фактическое количество пикселей, доступных на дисплее, плотность – это количество пикселей в пределах постоянной области дисплея, а размер – это количество физического пространства, доступного для отображения вашего интерфейса. Они взаимосвязаны: увеличивайте разрешение и плотность вместе, а размер остается примерно одинаковым. Вот почему экран 320×480 на экране G1 и 480×800 на Droid имеет одинаковый размер экрана: на экране 480×800 больше пикселей, но это также более высокая плотность.

Чтобы удалить расчет размера / плотности изображения, платформа Android работает там, где это возможно, с точки зрения «dp» единиц, которые корректируются для плотности. В экранах средней плотности («mdpi»), которые соответствуют оригинальным телефонам Android, физические пиксели идентичны dp; размеры устройств – 320×480 в любом масштабе. Более поздний телефон может иметь физико-пиксельные размеры 480×800, но быть устройством с высокой плотностью. Коэффициент преобразования от hdpi до mdpi в этом случае равен 1,5, поэтому для целей разработчика устройство имеет размер 320×533 в формате dp.

Я нашел этот онлайн-калькулятор dip <-> пикселей очень полезным.

https://pixplicity.com/dp-px-converter/

Я поддерживаю предыдущие ответы, но не забываю силу Draw9Patch или используя NinePatchDrawables

Они относятся к плотности пикселей экрана, а не к размеру экрана. Вам нужно заглянуть в спецификаторы размера экрана, такие как малый, средний, большой и xlarge, если вам действительно нужно изменить поведение на основе размера экрана в пикселях.

В документах Android объясняется, насколько плотность и размеры соответствуют этим идентификаторам.

У устройств Android могут быть разные отношения ширины и высоты, в то время как ваше изображение имеет фиксированный. Если вы не хотите, чтобы ваше изображение растянулось, вам нужно заполнить пробелы сверху и снизу или слева и справа.

  • Панель действий Android, как добавить поддерживающую библиотеку v7 appcompat для Eclipse
  • Android - Как создать интерактивный список?
  • Eclipse: JVM завершена. Код выхода = 2
  • aapt не найден по правильному пути
  • Добавление JAR в библиотеку Java Eclipse
  • Удаление NTLM из Eclipse
  • Android - создание новой активности в Eclipse
  • Добавить новую активность в AndroidManifest?
  • Как вы теперь импортируете проект Eclipse в Android Studio?
  • findFragmentById для SupportMapFragment возвращает null в Android Studio
  • Lint: Как игнорировать « не переводится в »?
  • Давайте будем гением компьютера.