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