Плотность экрана и размеры изображений

Привет, Android-разработчики.

Я хочу знать, как выбрать размеры рисунков; например, у меня есть изображение, которое я хочу вставить в свое приложение, какого размера (в пикселях) изображение должно быть вставлено в xxhdpi, xhdpi, hdpi, mdpi и ldpi?

Я проанализировал множество приложений для Android на GitHub, они используют изображения случайного размера (в пикселях) для разной плотности.


person ILYAS_Kerbal    schedule 12.06.2017    source источник
comment
Эти объявления уже давно устарели. См. developer.android.com/guide/practices/, который является немного тупой (как и документация Android API) для нового метода.   -  person alzee    schedule 12.06.2017
comment
@alzee, который до сих пор не отвечает на вопрос   -  person Code-Apprentice    schedule 12.06.2017
comment
Вот почему он опубликован как комментарий, а не как ответ, @Code-Apprentice.   -  person alzee    schedule 12.06.2017


Ответы (3)


Чтобы создать альтернативные растровые изображения для разных плотностей, вы должны следовать коэффициенту масштабирования 3:4:6:8:12:16 между шестью обобщенными плотностями. Например, если у вас есть рисуемое растровое изображение размером 48x48 пикселей для экранов средней плотности, все разные размеры должны быть:

  • 36x36 (0,75x) для низкой плотности
  • 48x48 (в 1,0 раз больше исходного) для средней плотности
  • 72x72 (1,5x) для высокой плотности
  • 96x96 (2.0x) для сверхвысокой плотности
  • 144x144 (3,0x) для сверхвысокой плотности
  • 192x192 (4,0x) для экстра-экстра-экстра-высокой плотности

Источник: https://developer.android.com/guide/practices/screens_support.html#DesigningResources

person Code-Apprentice    schedule 12.06.2017
comment
Ясно и понятно. еще один вопрос: я должен выбрать начальный размер (в данном случае 48x48) для mdpi? - person ILYAS_Kerbal; 12.06.2017
comment
@ILYAS_Kerbal для иконок, материальный дизайн указывает 48x48 для базовых размеров. Для других активов у вас больше гибкости. См. material.io/guidelines/style/icons.html. - person Code-Apprentice; 12.06.2017


Самый простой способ — использовать Android Asset Studio. Он будет генерировать все необходимое разрешение изображений для соответствующих плотностей экрана.

https://romannurik.github.io/AndroidAssetStudio/

person Atul Vasudev A    schedule 12.06.2017