Как поддерживать доступность размера текста во Flutter, например, размер Android sp и динамический тип iOS - PullRequest
0 голосов
/ 01 февраля 2019

В Android вы можете установить размер шрифта, используя независимые от масштаба пиксели (sp), чтобы принять во внимание настройки размера шрифта пользователя , выбранные в настройках.

android:textSize="26sp"

В iOS выМожно использовать Динамический тип для чего-то похожего.

label.font = UIFont.preferredFont(forTextStyle: .body)
label.adjustsFontForContentSizeCategory = true

Как вы делаете то же самое в Flutter?

1 Ответ

0 голосов
/ 01 февраля 2019

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

Вы можете проверить это, сравнив два текстовых виджета, второй с textScaleFactor, установленным на 1.0.Размер шрифта по умолчанию для обоих из них составляет 14,0 логических пикселей.

Widget _myWidget() {
  return Column(
    mainAxisAlignment: MainAxisAlignment.center,
    children: <Widget>[
      Text('Some sample text'),
      Text('Some sample text', textScaleFactor: 1.0),
    ],
  );
}

Android

В настройках Android Специальные возможности> Размер шрифта выберите наименьший размер.

enter image description here

Сделайте это снова и выберите самый большой размер.

enter image description here

Обратите внимание, чтопервый текстовый виджет изменил размеры, но второй с переопределением textScaleFactor не сделал.

iOS

В iOS перейдите на Настройки> Общие> Специальные возможности> Текст большего размера и выберите наименьший вариант.

enter image description here

И снова с наибольшим значением:

enter image description here

...