В Android размер текста указан в dp, но в flutter — в пикселях, тогда как сопоставить то же самое в flutter

#flutter

#flutter

Вопрос:

В Android мы определяем размер текста как dp, но в flutter размер текста указан в пикселях, тогда как сопоставить то же самое в flutter.

Как добиться того же в flutter.

Любая помощь приветствуется!

Ответ №1:

Из документации разработчика Android:

  1. px
    > Пиксели — соответствует фактическим пикселям на экране.

  2. в
    > Дюймы — в зависимости от физического размера экрана.
    > 1 дюйм = 2,54 сантиметра

  3. мм
    > Миллиметры — в зависимости от физического размера экрана.

  4. Очки
    > Очки — 1/72 дюйма в зависимости от физического размера экрана.

  5. dp или dip
    > Пиксели, не зависящие от плотности — абстрактная единица измерения, основанная на физической плотности экрана. Эти единицы измерения относятся к экрану с разрешением 160 точек на дюйм, поэтому один dp равен одному пикселю на экране с разрешением 160 точек на дюйм. Отношение dp к пикселю будет меняться в зависимости от плотности экрана, но не обязательно в прямой пропорции. Примечание: компилятор принимает как «dip», так и «dp», хотя «dp» больше соответствует «sp».

  6. sp
    > Масштабируемые пиксели ИЛИ пиксели, не зависящие от масштаба — это похоже на единицу измерения dp, но оно также масштабируется в зависимости от предпочтений пользователя по размеру шрифта. Рекомендуется использовать это устройство при указании размеров шрифта, чтобы они были скорректированы как с учетом плотности экрана, так и с учетом предпочтений пользователя. Обратите внимание, что документация Android противоречива в отношении того, что sp на самом деле означает, в одном документе написано «пиксели, не зависящие от масштаба», в другом — «масштабируемые пиксели».

От понимания независимости плотности в Android:

Ведро плотности Плотность экрана Физический размер Размер пикселя
ldpi 120 точек на дюйм 0,5 x 0,5 дюйма 0,5 дюйма * 120 точек на дюйм = 60×60 пикселей
mdpi 160 точек на дюйм 0,5 x 0,5 дюйма 0,5 дюйма * 160 точек на дюйм = 80×80 пикселей
hdpi 240 точек на дюйм 0,5 x 0,5 дюйма 0,5 дюйма * 240 точек на дюйм = 120×120 пикселей
xhdpi 320 точек на дюйм 0,5 x 0,5 дюйма 0,5 дюйма * 320 точек на дюйм = 160×160 пикселей
xxhdpi 480 точек на дюйм 0,5 x 0,5 дюйма 0,5 дюйма * 480 точек на дюйм = 240×240 пикселей
xxxhdpi 640 точек на дюйм 0,5 x 0,5 дюйма 0,5 дюйма * 640 точек на дюйм = 320×320 пикселей
Единица измерения Описание Единицы измерения на физический дюйм Не зависит от плотности? Одинаковый физический размер на каждом экране?
px Пиксели Варьируется НЕТ НЕТ
в Дюймы 1 ДА ДА
мм Миллиметры 25.4 ДА ДА
Очки Очки 72 ДА ДА
dp Пиксели , не зависящие от плотности ~160 ДА НЕТ
sp Масштабирование независимых пикселей ~160 ДА НЕТ

Дополнительную информацию также можно найти в документации Google Design.