Подтвердить что ты не робот

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

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

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

Пока мои измерения показывают, что строка состояния всегда имеет высоту 25 дп и ожидает значков 25х25 дп. Это приводит к следующим размерам:

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 и на эмуляторах.

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

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

4b9b3361

Ответ 1

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

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

Как отмечает Лекс, они имеют правильное число ниже, в Значок строки состояния.

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

Ответ 2

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

  • 18px (ldpi)
  • 24px (mdpi)
  • 36px (ИПЧР)
  • 48px (xhdpi)
  • 72px (xxhdpi)
  • 96px (xxxhdpi)

размер 24dp с дополнением 2dp, означает контент 20dp

px = dp * (dpi/160)