Каков идеальный способ масштабирования размера шрифта при разработке приложений?

#android #flutter

#Android #флаттер

Вопрос:

Я знаю, что этот вопрос может показаться немного странным. Я новичок в разработке Flutter. Делая мое приложение адаптивным, я всегда сталкиваюсь с проблемой при масштабировании текста. Если я сохраняю размер шрифта постоянным (скажем, 10 или 20), он иногда выглядит слишком маленьким на устройствах с большим разрешением или слишком большим на маленьких телефонах. Затем я попытался масштабировать его по размерам экрана (например, 4% или ширину экрана и т. Д.), Но тогда остается вопрос о его масштабировании по высоте или ширине экрана? Поэтому я хочу знать, каков идеальный способ масштабирования текста в целом.

Заранее спасибо за ответ.

Комментарии:

1. github.com/intuit/sdp

2. должно быть закрыто, потому что мнение основано

Ответ №1:

Вы можете создавать файлы размеров, и размеры, определенные в этих файлах, будут использоваться в соответствии с dpi устройства. Вам нужно будет создать:

  1. res/values-mdpi/dimens.xml
  2. res/values-hdpi/dimens.xml
  3. res/values-xhdpi/dimens.xml
  4. res/values-xxhdpi/dimens.xml
  5. res/values-xxxhdpi/dimens.xml

Ниже приведены соотношения, которые вы хотели бы использовать для разных размеров экрана: 3:4:6:8:12 ( m: h: xh: xxh: xxxh)

Допустим, у вас есть устройство (hdpi), вы хотите установить размер текста равным 12sp. Таким образом, вы будете устанавливать размеры текста как:

  1. mdpi — 9sp
  2. hdpi — 12sp
  3. xhdpi — 18sp
  4. xxhdpi — 24sp
  5. xxxhdpi — 36sp

Убедитесь, что имя должно быть одинаковым во всех ‘dimens.xml ‘

res/values-mdpi/dimens.xml

 <?xml version="1.0" encoding="utf-8"?>
<resources>
   <dimen name="title">12sp</dimen>
   <dimen name="paragraph">9sp</dimen>
</resources>
  

res/values-hdpi/dimens.xml

 <?xml version="1.0" encoding="utf-8"?>
<resources>
   <dimen name="title">16sp</dimen>
   <dimen name="paragraph">12sp</dimen>
</resources>
  

res/values-xhdpi/dimens.xml

 <?xml version="1.0" encoding="utf-8"?>
<resources>
   <dimen name="title">24sp</dimen>
   <dimen name="paragraph">18sp</dimen>
</resources>
  

res/values-xxhdpi/dimens.xml

 <?xml version="1.0" encoding="utf-8"?>
<resources>
   <dimen name="title">32sp</dimen>
   <dimen name="paragraph">24sp</dimen>
</resources>
  

res/values-xxxhdpi/dimens.xml

 <?xml version="1.0" encoding="utf-8"?>
<resources>
   <dimen name="title">48sp</dimen>
   <dimen name="paragraph">36sp</dimen>
</resources>
  

Комментарии:

1. в flutter? что вы хотите сделать с этими файлами?