Лучший блок для текста и размеров в Android - PullRequest
0 голосов
/ 31 января 2019

Я использую dp для измерений и sp для размера текста уже 3 года, с тех пор как начал разрабатывать приложения для Android.

Но недавно ко мне присоединилась пара человеккоторые не верят в dp и sp, говоря: «он не показывает то же самое на всех устройствах».

Метод, который они использовали:

При установке размера текста выне используйте 24 sp и 24 dp , вы устанавливаете его как 24% ширины или высоты экрана в пикселях.таким образом, текст всегда имеет одинаковый размер в пикселях на всех устройствах (включая планшеты).

Насколько корректен / действителен этот метод?Какой профессиональный способ дизайна?Каково мнение профессионального дизайнера Android относительно этого метода?

Ответы [ 4 ]

0 голосов
/ 31 января 2019

Лучшая единица для текста - это sp, а для размеров лучшая единица - это dp.
Это дает идеальный результат, в котором вы хотите.В большинстве разработчиков использовать этот блок для текста и размеров.Я пытаюсь за ваш%, но это не работает в моем приложении.

0 голосов
/ 31 января 2019

DP / SP Не претендует на то, чтобы быть одинаковым на всех размерах экрана, но примерно одинакового размера на экране плотности .Причина в том, что примерно одинакового размера, состоит в том, что плотность разбита на категории (например, mdpi, hdpi, xhdpi ...).

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

Кроме того, как уже упоминали другие пользователи, sp (и, по-видимому, сейчас dp) можно масштабировать на основе пользовательских предпочтений, что действительно полезно для людей с плохим зрением.

0 голосов
/ 31 января 2019

dp обозначает плотность независимых пикселей.Его цель состоит в том, чтобы определить более или менее физическое измерение.Например, 48 dp примерно такого же размера, как кончик пальца, и поэтому значки (например, на ActionBar) должны иметь этот размер.Так что для интерфейсов вы всегда должны использовать dp (и sp для текстов).Это также имеет то преимущество, что вы можете отображать больше данных на большом экране (например, больше элементов в списке видно и т. Д.).

Если вы используете% от размера экрана, вы делаетепрямо противоположное.На маленьком устройстве 24% оно будет маленьким (физически говоря), на большом планшете оно будет большим.Использование% может иметь смысл, например, если вы разрабатываете игру и хотите, чтобы на каждом устройстве отображалось одно и то же изображение, большое или маленькое.

0 голосов
/ 31 января 2019

Не знаю, насколько хорошо % может заменить dp, но не используйте его в качестве размера текста.

sp отлично, потому что пользователи могут изменить его размер, изменив предпочитаемый текстРазмер в настройках устройства.Не упускайте эту возможность только потому, что она упрощает ваш дизайн.

Специальные возможности> Дизайн

См. Это руководство для справки: Поддержка различных плотностей пикселей

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...