Android иконки (и другие элементы пользовательского интерфейса, такие как длины сопротивления) измеряются в dp
. dp
Является устройством / плотность-независимый пиксель . 1 dp
эквивалентно 1 пиксель на экране 160 точек на дюйм . Но обращенным в другой плотности экрана, вам нужно умножить на коэффициент плотности. Таким образом , это обычно рекомендуется несколько изображений поставляются для большинства иконок .
Например, значки уведомлений, используемые в строке состояния , задаются как 24x24 dp с полем в 1 dp (поэтому фактический значок занимает только оптический квадрат 22x22 dp, хотя некоторые из AA могут сливаться в этот предел 1 dp / safeframe ). Чтобы преобразовать 24 dp в фактические размеры в пикселях, используются эти приблизительные расчеты:
display density dp units * scale = px units
ldpi ~120 dpi 24x24 dp * .75 = 18x18 px
mdpi ~160 dpi 24x24 dp * 1.0 = 24x24 px
hdpi ~240 dpi 24x24 dp * 1.5 = 36x36 px
xhdpi ~320 dpi 24x24 dp * 2.0 = 48x48 px
xxhdpi ~480 dpi 24x24 dp * 3.0 = 72x72 px
Там также промежуточная плотность отображения называется tvdpi
(~ 213 точек на дюйм) , который находится между mdpi
и hdpi
и имеет масштабный коэффициент 1.33
, но это гораздо реже. Что Android документы рекомендуют в том , что вы будете следовать 3:4:6:8:12
коэффициенту масштабирования при предоставлении предварительного делителя растровых изображений (обычно в форматах PNG) для наиболее распространенных плотностей отображения.
Я нигде не вижу, чтобы они указывали размер dp для больших значков, используемых в уведомлениях, но высота каждого уведомления в обычном представлении входящих сообщений составляет 64 dp . Таким образом, это означает, что максимальный размер значков / изображений, показанных там будет:
ldpi: 48x48 px
mdpi: 64x64 px
hdpi: 96x96 px
xhdpi: 128x128 px
xxhpdi: 192x192 px
Если вы хотите точно знать, каковы размеры изображений стандартных иконок Android, вы можете узнать об этом из пакета значков Android v4.0 .
Смотрите также этот SO вопрос: Сотовые уведомления: Как установить largeIcon
правильный размер?