В строке состояния Android ожидаются значки размером 25x25dp, а в рекомендациях рекомендуется 32x32dp. Кто не прав?

В соответствии с рекомендациями по дизайну иконок для Android ( здесь см. Таблицу № 1), разработчик должен предоставить значки в строке состояния следующих размеров:

Status Bar  24 x 24 px (LDPI)  32 x 32 px (MDPI)  48 x 48 px (HDPI)

В то время как мои измерения показывают, что строка состояния всегда имеет 25 dp в высоту и ожидает значки 25x25dp. Это переводит к этим размерам:

Status Bar  19 x 19 px (LDPI) 25 x 25 px (MDPI)  38 x 38 px (HDPI)

Вот как я получаю эти размеры:

25dp * 0.75 = 18.75 => 19px (LDPI)
25dp *  1   = 25    => 25px (MDPI)
25dp *  1.5 = 37.5  => 38px (HDPI)

Я подтвердил расчетные размеры на нескольких телефонах Android и на эмуляторах.

Вопрос в основном таков: почему в руководствах используются размеры, отличающиеся от того, что в действительности используется в строке состояния?

PS Мне действительно нужно нарушать руководящие принципы из-за точных требований к управлению пикселями. И меня просто смутило это положение вещей. Поэтому объяснение того, почему это так, действительно помогло бы мне.

2 ответа

Решение

Предупреждение: независимо от того, был ли ответ верным при написании, сейчас он кажется неправильным. См. https://www.google.com/design/spec/style/icons.html действующие рекомендации.

Это просто кажется ошибкой. (Обратите внимание, что по состоянию на 2010-12-04 они также пересекли свои ссылки на рисунки 4 и 5 на этой странице.)

Как указывает Лекс, у них правильный номер ниже, в разделе "Значок строки состояния".

Они также диктуют 2-пиксельный "безопасный кадр" со всех сторон в разрешении 25x25, в который должна вписываться форма вашей иконки, хотя кажется, что можно использовать некоторые элементы, связанные с алиасингом, но только по бокам, для этого тип значка. (Это означает, что вы действительно хотите стремиться к 21x21 при таком размере.)

На самом деле это

  • 18px (ldpi)
  • 24px (MDPI)
  • 36px (ИПЧР)
  • 48px (xhdpi)
  • 72px (xxhdpi)
  • 96 пикселей (xxxhdpi)

это размер 24dp с отступом 2dp, что означает содержание 20dp

px = dp * (dpi/160)

Другие вопросы по тегам