Разные размеры изображений в 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 или более поздние.