Подтвердить что ты не робот

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

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

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

Приветствия Пол

4b9b3361

Ответ 1

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.

Ответ 2

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

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

Размеры экрана находятся внутри script и есть -

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

Ответ 3

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

  • 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, а не устанавливаете фон.

<ImageView
   android:id="@+id/home_video_layout"
   android:src="@drawable/splash_image"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:scaleType="centerCrop"
   />

Обновлено:

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

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

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

Ответ 5

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

Ответ 6

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

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

Ответ 7

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