Піктограми Android (та інші елементи інтерфейсу користувача, як довжина перетягування) вимірюються в dp
. A dp
- піксель, що не залежить від щільності пристрою . 1 dp
еквівалентний 1 пікс на екрані 160 dpi . Але для перетворення на інші щільності екрана вам потрібно помножити його на коефіцієнт щільності. Тому зазвичай рекомендується подавати кілька зображень для більшості значків .
Наприклад, піктограми сповіщень, які використовуються в рядку стану , визначаються як 24x24 dp, з полем в 1 dp (тому фактичний значок займає лише оптичний квадрат 22x22 dp, хоча деякі з AA можуть кровоточити в цей запас / безпечний кадр 1 dp. ). Для перетворення 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 Icon, v4.0 .
Дивіться також це питання ТАК: Сповіщення стільникового сигналу: Як встановити largeIcon
потрібний розмір?