Эмулятор HDPI против MDPI против LDPI - PullRequest
4 голосов
/ 28 июля 2011

При запуске эмуляторов Android с одинаковым разрешением 480x800 при разных точках на дюйм (120, 160, 240), я думаю, что экран с самым высоким разрешением будет иметь наименьшие элементы интерфейса (изображения, кнопки и т. Д.) И один ссамый низкий DPI будет иметь самый большой.Но с точностью до наоборот.Я включил снимок экрана, чтобы продемонстрировать, что я имею в виду. Right to left: HDPI emulator, MDPI emulator, LDI emulator

Мои настройки эмулятора:

HDPI:

  • Разрешение скина: 480x800
  • Абстрактная плотность ЖК-дисплея: 240

MDPI:

  • Разрешение кожи: 480x800
  • Абстрактная плотность ЖК-дисплея: 160

LDPI:

  • Разрешение скина: 480x800
  • Абстрактная плотность ЖК-дисплея: 120

Я запустил каждый из эмуляторов со следующими настройками:

  • Масштабирование дисплея до реального размера
  • Размер экрана: 5 дюймов
  • Разрешение монитора: 105
  • Масштаб: 0,56

Я что-то не так делаю, или это ожидаемый результат?Если да, то почему он так себя ведет?Если я сделаю аналог в Photoshop (просмотр для печати вариант), я получу прямо противоположные и правильные результаты.

Ответы [ 2 ]

11 голосов
/ 29 июля 2011

Проблема оказывается простой математикой.Если мы примем формулу для расчета DPI как

dpi = sqrt(height^2 + width^2)/(screen size in inches)

, станет очевидно, что вы не можете выбрать все три компонента при запуске эмулятора - только два, и Android вычислит отсутствующий компонент.

Из моего первоначального вопроса выше я указывал постоянное разрешение (480x800) и постоянный размер экрана (5 дюймов).Но разрешение 480x800 всегда дает разрешение около 186 точек на дюйм.То, что в каждом из этих случаев значение DPI было разным, приводило в замешательство эмулятор Android, и я думаю, что он отбросил указанное мной исходное разрешение и рассчитал его.

0 голосов
/ 17 мая 2012

Это ожидается.Android увеличивает размер шрифта по умолчанию в ожидании этого более высокого DPI.Цель состоит в том, чтобы при определенном физическом размере экрана (скажем, 3 дюйма) шрифт имел одинаковый физический размер, независимо от его разрешения. Дисплеи с более высокой плотностью имеют меньшие пиксели, поэтому при установке более высокого значения DPI Android необходимо использовать больший шрифт дляотображаются одинакового размера относительно экрана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...