Разные размеры изображений в Android

Я пытаюсь создать основную активность в моем приложении, используя GridView. Мне нужно иметь сетку 3х3. Каждая ячейка содержит ImageView (иконки для разных действий). Все изображения должны иметь одинаковый размер. И мой вопрос: какие размеры изображения я должен использовать? Я посмотрел учебник и нашел таблицу с размерами для разных разрешений и плотности. Но я не поняла. Например, у меня плотность mdpi и размер экрана 480*800. Означает ли это, что я должен использовать иконки 160*266 для этого экрана? А какие размеры должны быть для других плотностей и размеров экрана? Как я могу их рассчитать?

1 ответ

Это один из наиболее часто задаваемых вопросов, вы можете искать более подробную информацию, но позвольте мне кратко рассказать вам, как это работает.

MDPI считается базовой линией, а следующие - шкалы

MDPI    - X1
HDPI    - X1.5
XHDPI   - X2
XXHDPI  - X3
XXXHDPI - X4

Теперь вы должны думать, что это такое.

Поскольку вы хотите иметь сетку 3X3 с ячейкой одинакового размера, вы можете рассмотреть следующее.
В целом размер экрана mdpi составляет 360 X 640, поэтому каждый размер изображения будет 120dp X 212dp Приблизительно.

Для экрана mdpi размер вашего изображения должен быть 120px X 212px
Для экрана hdpi ваш размер изображения должен быть 180px X 318px
Для экрана xhdpi размер вашего изображения должен быть 240px X 424px
Для экрана xxdpi размер вашего изображения должен быть 360px X 636px
Для экрана xxxdpi размер вашего изображения должен быть 480px X 848px

Теперь, где вы должны разместить эти изображения?

Project -> app -> src -> main -> res

Здесь создайте папки с именем drawable-mdpi, drawable-hdpi и т. д., и поместите соответствующие изображения в эти папки.

Это для поддержки нескольких плотностей экрана.

Согласно документам, размеры экранов MDPI и HDPI приведены с учетом их соотношения сторон 3:4, но, поскольку большинство пользователей имеют устройства HD с соотношением сторон 9:16, вы можете рассмотреть самый стандартный размер экрана в Маркете, то есть 1080 X 1920, который соответствует XXHDPI и служит базой для принятия предположения о том, что MDPI должен быть 360 X 640. Для приложений высокого качества приходится искать компромисс для более низких устройств, поскольку большинство существующих пользователей имеют устройства XXHDPI или более поздние.

Другие вопросы по тегам