Ответ 1
Здесь понимаются три различные, но связанные понятия: плотность экрана (пиксели на дюйм/сантиметр или обычно называемые DPI от точек на дюйм в принтерах), размер физического экрана (в сантиметрах или сантиметрах) и количество пикселей ( также известный как разрешение, в пикселях).
Эти термины не взаимозаменяемы, и вам нужно понять, как они взаимосвязаны, чтобы не путать с проблемой. Как правило, вы можете игнорировать размер физического экрана, поскольку это уже учитывается в плотности. Например, экран шириной 3 дюйма и разрешением 300 пикселей будет иметь значение DPI 100. Кроме того, экраны телефонов имеют примерно одинаковый физический размер, даже если количество пикселей сильно отличается.
Итак, рассмотрим экран G1 или Hero, который имеет разрешение 480x320 и плотность около 160 точек на дюйм. Изображение шириной 300 пикселей будет 1,875 дюйма в поперечнике. Это вычисляется по размеру пикселя (300)/плотность (160). Теперь, если вы сравните это с экраном Nexus One, Droid или аналогичным, эти модели имеют экран с более высоким разрешением около 800x480 с высокой плотностью около 240 точек на дюйм. Если вы показываете одно и то же изображение шириной 300 пикселей, теперь оно будет отображаться только физически на расстоянии примерно один и четверть дюйма в поперечнике. Другими словами, он будет намного меньше. Это может быть проблемой, потому что если изображение содержит текст, текст может быть недоступен для чтения.
Android может быть предложено автоматически масштабировать изображения, чтобы они соответствовали этим различным экранам, чтобы он по-прежнему выглядел одинакового размера. Это делается путем установки размеров в независимых размерах пикселей. Если что-то будет шириной 100dp, оно будет шириной 100px на экране средней плотности. На экране с высокой плотностью он будет иметь ширину 150 пикселей, но они будут выглядеть примерно одинаково на реальном экране. Однако, если вы сделаете это, ваше изображение может немного расплыться. Это то же самое, что при приближении к фотографии слишком близко к программе просмотра изображений; края становятся размытыми, так как они "растягивают" их при масштабировании.
Способом решения этой проблемы является использование папок mdpi, hdpi и т.д. Вы даете Android изображение, которое уже было масштабировано, так что ему не нужно делать это самостоятельно. Очевидно, что если вы просто растянете изображение самостоятельно в Photoshop, то это будет выглядеть не лучше. Но обычно один из них изменяет размеры очень больших изображений, чтобы они соответствовали мобильному экрану. В этом случае вы просто изменяете их по три раза, каждый в другое разрешение.
Итак, чтобы наконец ответить на ваш конкретный вопрос: если у вас есть изображение, размещенное в вашей папке mdpi, оно будет точно такого же размера, независимо от разрешения экрана, если все они имеют одинаковую плотность. Что изменится, сколько пространства вокруг них, например. изображение шириной 320x320 пикселей заполнило бы большую часть экрана 320x480, но только около трети экрана 480x800. Однако, как отмечалось выше, обычно телефоны с более высоким разрешением также имеют более плотный экран. В этом случае Android не будет выглядеть в вашей папке mdpi для изображения - он перейдет в папку hdpi, и если он не сможет найти его там, он возьмет папку "drawable" по умолчанию. Затем, если вы используете DP, он автоматически масштабирует его, или если вы используете PX, он оставит его как есть, и он будет выглядеть меньше.
Там! Очень длинный ответ для вас. Надеюсь, это имеет смысл.