Проблемы с созданием большого значка уведомлений для Android в Jelly Bean

11

Я пытаюсь создать красивую графику высокого разрешения для уведомлений Android, но сталкиваюсь с некоторыми проблемами. В Jelly Bean есть новое место для больших иконок ( см. Рекомендации по дизайну уведомлений здесь ) в левой части баннера уведомлений (см. Ниже # 2 Большой значок):

введите описание изображения здесь

Все стандартные иконки Android красивы и имеют высокое разрешение, но, к сожалению, иконки, которые я создавал в Illustrator / Photoshop, выглядят нечетко на дисплее высокого разрешения.

Мои файлы имеют размер 96 x 96 пикселей, но я обеспокоен тем, что этот размер не подходит для значков высокого разрешения, и я нигде не нашел какой-либо полезной информации относительно наилучшего размера для них.

Любая помощь с благодарностью!

Даниэль Смит
источник

Ответы:

18

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правильный размер?

Лез Мажесте
источник
3
Вы должны переписать некоторые из проектной документации Android! Информация все есть, но не очень сжато. Документы в большинстве случаев фантастические, но здесь они меня подвели. Большое спасибо за самое ясное и краткое объяснение!
Даниэль Смит