Размеры значков Android

Я знаю, что существуют рекомендации по созданию значков для определенных областей в Android (вкладка, список и т. д.) и по их размеру в соответствии с ldpi, mdpi, hdpi и т. д.

Существуют ли какие-либо правила масштабирования других значков в приложении?

У меня есть «крошечный» значок размером 10x10 пикселей, который я использую на своем телефоне mdpi dev. Какими будут правила масштабирования для создания версий этого значка ldpi, hdpi и xhdpi?

Спасибо

Дэйв


person DaveSav    schedule 24.08.2012    source источник
comment
Это может ответить на ваш вопрос.   -  person Kevin Coppock    schedule 25.08.2012


Ответы (4)


Соотношения: 0,75|1|1,33|1,5|2,|3,|4. (или 3:4:6:8:12:16). То есть для растрового изображения 10x10 пикселей графика будет

ldpi    - 10x10 * 0.75 = 7x7
mdpi    - 10x10 * 1    = 10x10
tvdpi   - 10x10 * 1.33 = 13x13
hdpi    - 10x10 * 1.5  = 15x15
xhdpi   - 10x10 * 2    = 20x20
xxhdpi  - 10x10 * 3    = 30x30
xxxhdpi - 10x10 * 4    = 40x40
person DeeV    schedule 24.08.2012
comment
Также следует отметить, что для лучшего масштабирования рекомендуется делать размеры графики кратными четырем. Например, если ваша графика 10x10 была вместо 12x12, она масштабировалась бы до ldpi, hdpi и xhdpi без дробных размеров пикселей. (9x9, 18x18 и 24x24 соответственно). - person Kevin Coppock; 25.08.2012
comment
Только что внимательно посмотрел на ваши коэффициенты - должно быть .75|1|1.33|1.5|2, а не .75|1|1.33|2|4. - person Kevin Coppock; 25.08.2012
comment
Спасибо DeeV и kcoppock. Я изменю размер моего базового значка до 12*12 (делится на 4), а затем применю пропорции. - person DaveSav; 25.08.2012
comment
Кстати, а где информация об этом коэффициенте? - person DaveSav; 25.08.2012
comment
Он разбросан по странице «Поддержка нескольких экранов». developer.android.com/guide/practices/ - person DeeV; 25.08.2012
comment
В основном, посмотрите на раздел «Альтернативные чертежи». Кроме того, по замыслу ldpi имеет разрешение 120 dpi (120/160 = 0,75); mdpi — 160 dpi (160/160 = 1); hdpi — 240 точек на дюйм (240/160 = 1,5); а xhdpi — 320 точек на дюйм (320/160 = 2) - person DeeV; 25.08.2012
comment
Вы можете получить значки разного размера: play.google. ком/магазин/приложения/ - person Darsh Patel; 16.04.2015

Я бы создал отдельные изображения для каждого из них:

Res     Px     
ldpi    36 x 36
mdpi    48 x 48
hdpi    72 x 72
xhdpi   96 x 96
xxhdpi  144x144
xxxhdpi 192x192

Затем просто поместите каждый из них в отдельные стебли папки для рисования.

person Gajendra Rawat    schedule 30.09.2013
comment
Для xxhdpi это 180x180, а для xxxhdpi — 192x192 в соответствии с документацией Google здесь, developer.android.com /guide/practices/screens_support.html. Найдите на странице 180 x 180 (3,0 x) для экстра-сверхвысокой плотности. Я использую их в сценарии Photoshop «Экспорт в несколько размеров» здесь, velara3.com. - person 1.21 gigawatts; 25.01.2015
comment
@ 1.21 Согласно вашей собственной ссылке и следующей, xxhdpi действительно 144x144 разработчик .android.com/guide/practices/ui_guidelines/. Кроме того, не имеет смысла, что xxhdpi будет 180, а xxxhdpi будет 192, поскольку предполагается, что это соотношение 3:4, что даст xxx 240x240. - person Ionoclast Brigham; 09.02.2017
comment
Они изменили документацию, так как я сделал свой комментарий. Посмотрите на обратную машину - person 1.21 gigawatts; 09.02.2017

Обобщенное правило для значений пикселей для поддержки нескольких экранов основано на базовой конфигурации плотности экрана вашего устройства. Базовая линия для плотности 160 пикселей, mdpi входит в этот диапазон. Таким образом, вычислив значения dpi, вы можете поместить эти значения в разные файлы dimens.xml для поддержки различных устройств. Общая формула:

Результат = значение (dpi) * плотность устройства (pi)/160 (dpi)

Поэтому сначала проверьте плотность вашего устройства, а затем в соответствии с приведенной выше формулой рассчитайте значения для dimens.xml. Для стандарта мы обычно предполагаем, что:

Для плотности mdpi = 160, hdpi - 240, xhdpi - 320, ldpi - 120

Как и в вашем случае, если значение равно 10 * 10, тогда результат для другого экрана будет:

Для лдпи:

Результат = 10*120/160 = 7,5, т.е. 7 пикселей.

Для мдпи:

Результат = 10*160/160 = 10 пикселей

Для hdpi:

Результат = 10*240/160 = 15 пикселей

Для хдпи:

Результат = 10*320/160 = 20 пикселей

Вы также можете обратиться к этому http://developer.android.com/guide/practices/screens_support.html и http://developer.android.com/training/multiscreen/screendensities.html

person Yash    schedule 30.09.2013

Согласно руководству по иконографии Android, значки должны соответствовать соотношению масштаба 2:3:4:6 для различной плотности экрана, средней, высокой, x-высокой и xx-высокой. сильный> соответственно.

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

Вы также можете проверить руководство по дизайну Android для иконографии. http://developer.android.com/design/style/iconography.html

person Aksel Fatih    schedule 16.07.2013