#flutter
#flutter
Вопрос:
В Android мы определяем размер текста как dp, но в flutter размер текста указан в пикселях, тогда как сопоставить то же самое в flutter.
Как добиться того же в flutter.
Любая помощь приветствуется!
Ответ №1:
Из документации разработчика Android:
-
px
> Пиксели — соответствует фактическим пикселям на экране. -
в
> Дюймы — в зависимости от физического размера экрана.
> 1 дюйм = 2,54 сантиметра -
мм
> Миллиметры — в зависимости от физического размера экрана. -
Очки
> Очки — 1/72 дюйма в зависимости от физического размера экрана. -
dp или dip
> Пиксели, не зависящие от плотности — абстрактная единица измерения, основанная на физической плотности экрана. Эти единицы измерения относятся к экрану с разрешением 160 точек на дюйм, поэтому один dp равен одному пикселю на экране с разрешением 160 точек на дюйм. Отношение dp к пикселю будет меняться в зависимости от плотности экрана, но не обязательно в прямой пропорции. Примечание: компилятор принимает как «dip», так и «dp», хотя «dp» больше соответствует «sp». -
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.