Что такое Dpi и как его использовать в дизайне приложений для Android

Я только что взял проект по дизайну приложений для Android. Я начинаю узнавать о дизайне приложений, и эти вещи с dpi действительно выбрасывают меня за борт. Мои основные опасения:

1) Что такое Dpi(я не программист поэтому знаний в этой области 0)

Как меняется Dpi от устройства к устройству. Пожалуйста, объясните на примерах. Я начал проектировать для экрана Nexus 5 (1020x1920), который также является шаблоном дизайна приложения по умолчанию в PS.

а) Дело в том, что Google заявил, что nexus5 - это xxhdpi, поэтому я использовал значки 48dp из их ресурсов значков, которые огромны.

б) Как масштабируются значки в зависимости от dpi и т. д. и какой должен быть правильный размер для nexus5

в) Обычно я разрабатываю веб-сайты, поэтому застрял на пикселях. Поэтому, пожалуйста, объясните, что касается пикселей (или любого другого способа, который лучше всего подходит для дизайна приложений)

2) Размеры экрана и рекомендации

Проведя небольшое исследование, я понял, что дизайн должен адаптироваться к разным размерам экрана. Итак, с чего мне начать и что является наилучшей практикой. Пока я понял, что 5-дюймовые экраны лидируют, за ними следуют 5,5-дюймовые SG Notes и т. д. В моей стране максимально используется 5-дюймовый экран. Пожалуйста, предложите.

3) Типографика. Это огромная проблема. Какой размер шрифта лучше всего подходит для (1020x1920) и (720x1280) или любого другого размера, который вы скажете.

а) Каков стандартный размер заголовка/панели действий.... Заголовок основной карточки и обычный текст в карточках. б) Как sp меняется с устройством на устройство (dpi и т. д.). И как посчитать эти вещи в пикселях.

Я знаю, что вопросов много, но я действительно застрял. Если я закончу этот проект... это кардинально изменит мою дизайнерскую карьеру.

Пожалуйста помоги

Спасибо в рекламе.

вы можете искать на этом сайте, используя такие теги, как [dpi][ppi]
Я проголосовал за этот вопрос. Как упомянул Янус, здесь слишком много разных вопросов, все из которых вы могли бы выяснить сами, проведя исследование в Google. Лично я думаю, что вам нужно вернуться в школу и узнать о графическом дизайне и веб-разработке. Все эти вопросы чрезвычайно полезны для тех, у кого есть опыт веб-дизайна.
Я не понимаю, как вы можете иметь «карьеру дизайнера», но не знать, что означает «DPI». Вы говорите, что «обычно разрабатываете веб-сайты», но если вы действительно разрабатываете веб-сайты, то я уверен, что вы разработали адаптивные или мобильные версии этих сайтов, верно? Между дизайном приложения и мобильного веб-сайта нет большой разницы. Серьезно, больше усилий и исследований с вашей стороны помогут вам лучше изучить все эти вещи, чем обращаться к нам за советом. Вам нужно выяснить что-то для себя, попробовать что-то и применить свои собственные лучшие методы. Тебе предстоит долгий путь, мой друг.
успокойся @paulmz Я не ходил ни в одну школу дизайна. Все, что у меня есть, это самообучение. У меня нет ни денег, ни времени, чтобы пойти в школу дизайна и начать заниматься дизайном. Человек с хорошим знанием поделится без сожаления. Печально видеть, как люди судят других по этим вещам, не зная об этом.

Ответы (3)

Вы задаете здесь сразу несколько вопросов — слишком много, чтобы на все из них можно было ответить одним ответом. Здесь я ограничусь объяснением того, что, по моему мнению, является основным источником вашей путаницы: разные единицы измерения.

 

Точек на дюйм, ИЦП и ДП

DPI — это количество точек на дюйм (это можно легко найти — это даже в большинстве словарей), которое используется для определения плотности сканеров, принтеров и других «реальных» вещей. Для экранов традиционной единицей измерения является PPI, пиксели на дюйм (хотя некоторые, например, страница документации Android, ссылка на которую приведена ниже, несколько ошибочно используют DPI и для экранов).

DP — это независимые от плотности пиксели , единица измерения, созданная для учета разной плотности (в PPI) разных типов экранов.

«Плотность», как следует из названий DPI и PPI, относится к тому, сколько пикселей экран данного типа содержит физическое пространство в один дюйм, т. е. к физическому размеру каждого отдельного пикселя.

 

Практический пример

Если у вас есть экран с физическим размером 5 дюймов на 5 дюймов (давайте просто предположим, что он прямоугольный для простоты вычислений) и плотностью 96 пикселей на дюйм (достаточно распространено на старых мобильных экранах), весь экран состоит из (5 x 96 пикселей). ) x (5 x 96) пикселей = 480 x 480 пикселей = 230 400 пикселей. Если вы сделаете прямоугольник шириной 480 пикселей и высотой 120 пикселей, он заполнит всю ширину экрана и одну четвертую его высоты.

Если у вас более новый экран того же физического размера, но с меньшими пикселями (326 пикселей на дюйм), это число резко изменится: (5 x 326) x (5 x 326) пикселей = 1980 x 1980 пикселей = 7 762 392 000 пикселей. Это примерно в 33 690 раз больше пикселей в том же физическом пространстве. Очевидно, что если вы посмотрите на тот же блок размером 480 x 120 пикселей, что и раньше, на этом экране, он займет менее одной четверти ширины экрана и только около одной шестнадцатой высоты: он будет крошечным .

Независимые от плотности пиксели — способ обойти это, по крайней мере, частично. Они основаны на конкретной плотности 160 пикселей на дюйм, игнорируя реальную плотность экрана. Давайте снова используем тот же блок на тех же двух экранах, но на этот раз определим его в dp вместо px. Чтобы рассчитать, насколько большой блок будет отображаться на экранах, нам теперь нужно найти соотношение между воображаемым базовым экраном (160 пикселей на дюйм) и физическим экраном: маленький экран с разрешением 96 пикселей на дюйм имеет соотношение 160/96 ≈ 1,67 ( 1 ²⁄₃), а у большого с 326 ppi соотношение 160/326 ≈ 0,5. Размер блока, который будет отображаться на экранах, равен его размеру в dp, деленному на это соотношение:

  • Старый экран: (480/1,67) x (120/1,67) ≈ 287 x 72 пикселей
  • Новый экран: (480/0,50) x (120/0,50) ≈ 960 x 240 пикселей

Если мы возьмем эти размеры как относительные к размеру всего экрана, мы увидим, что теперь они намного ближе друг к другу:

  • Старый экран: (287/480) x (72/480) ≈ 59% x 15%
  • Новый экран: (960/1980) x (240/1980) ≈ 48% x 12,5%

Таким образом, если определение размера поля в абсолютных пикселях сделало его 100% x 25% на одном экране и 25% x 6% на другом экране (огромная разница), определение его в dp вместо этого делает их довольно близкими к тому, чтобы казаться одинакового размера на обоих экранах.

Почти то же самое можно было бы сделать, определив его в процентах, но, как вы, вероятно, теперь знаете из «обычного» веб-дизайна, у процентов есть свои проблемы и предостережения; независимые от плотности пиксели — это способ получить более однородный вид из абсолютной единицы измерения.

 

Типография и СП

При работе с типографикой вы должны использовать единицу SP ( независимые от масштаба пиксели ) вместо DP. SP работает так же, как DP, но они также учитывают предпочтения пользователя в отношении размера текста. Таким образом, если пользователь установил базовые настройки на своем телефоне, чтобы всегда использовать более крупный текст (скажем, 120% от нормального размера), текст, установленный в 12sp, будет 12dp x 120% = 14,4 dp; то есть:

  • Старый экран: (14,4/1,67) ≈ 8,62 px (1 строка ≈ 1,77% высоты экрана)
  • Новый экран: (14,4/0,50) = 28,8 пикселей (1 строка ≈ 1,45% высоты экрана)
Не проще ли было бы сказать, что все дело в пикселях, и кого волнует плотность экрана, ведь вы не можете знать, насколько велик экран NEXT?
@joojaa В некотором смысле да, за исключением того, что я бы сказал, что все дело в воспринимаемом физическом размере по отношению к полному размеру экрана, а не в пикселях как таковых. Но да, все дело в том, что плотность экрана не должна иметь значения, что и пытаются сделать DP/SP.
Спасибо, что нашли время и так подробно ответили. Я немного понял ситуацию с dp/sp. @JanusBahsJacquet прав. Поскольку развитие технологий идет так хорошо, а ppi увеличивается с каждой панелью ... необходим независимый от пикселей блок. Но разобраться в вещах — это боль.
@tusharbose у нас были независимые единицы измерения пикселей в течение нескольких тысяч лет ... хотя и не такие стандартизированные, как метрические единицы. зачем изобретать больше?
Я знаю .... Я где-то читал, что Apple использует pts для измерения. Но Google хотел чего-то другого.
@tusharbose: это не совсем так. Apple и Microsoft всегда использовали аппаратно-независимые единицы измерения . Это проблема и термин, который восходит как минимум к 70-м годам.
@Yorik Возможно, ты прав. Мои извинения. Мне нужно много опыта. До сих пор я старался избегать точек и т. д. и придерживаться пикселей. Нужно больше читать. ржу не могу

Чтобы понять, что они собой представляют, PPI и DPI абсолютно одинаковы, точки или пиксели на дюйм. PPI — это цифровая версия DPI.

Что вам нужно понять, так это то, что точка или пиксель не имеют физического размера. Это может быть 0,0000001 мм 2 или 1 м 2 . Когда вы подходите слишком близко к большому наружному цифровому рекламному щиту, вы действительно можете видеть пиксели, и они довольно большие.

Если файл имеет разрешение 72 DPI/PPI, это означает, что на каждый дюйм приходится 72 точки или пикселя. Чем больше точек/пикселей на дюйм, тем выше будет качество изображения.

Теперь, если я правильно помню, у моего Nexus 5 экран 442 PPI. Это означает, что они разместили 442 пикселя на каждом дюйме. Когда вы смотрите на изображение с разрешением 442 PPI на стандартном экране ноутбука с разрешением 72-96 PPI при 100% увеличении, оно будет почти в 5 раз больше, чем изображение со стандартным разрешением 96 PPI, потому что оно имеет почти в 5 раз больше пикселей.

Итак, суть в том, что для экранов более высокого качества вам нужна более качественная (крупная) графика.

Если кто-то еще застрял там, где я... Я нашел обходной путь. Вот что я сделал, чтобы обойти вычисление пикселей.

1) Создайте новый файл в фотошопе с размерами вашего устройства. у меня это 1080x1920 для nexus5.

3) Перейдите по этой ссылке: https://www.youtube.com/watch?v=8f3h7id7EN0
и обязательно снимите флажок передискретизировать, если вы используете Photoshop cc. или вы измените размеры вашего документа.

4) Теперь все можно измерять в дп.

Я все еще заканчиваю дизайн. Я сообщу, если это работает на самом деле. До сих пор панель действий, строка состояния и панель навигации соответствовали друг другу с точки зрения измерения.

Всем, кто ответил... Спасибо за терпение и руководство. Спасибо вам всем.