#android #flutter
#Android #флаттер
Вопрос:
Я знаю, что этот вопрос может показаться немного странным. Я новичок в разработке Flutter. Делая мое приложение адаптивным, я всегда сталкиваюсь с проблемой при масштабировании текста. Если я сохраняю размер шрифта постоянным (скажем, 10 или 20), он иногда выглядит слишком маленьким на устройствах с большим разрешением или слишком большим на маленьких телефонах. Затем я попытался масштабировать его по размерам экрана (например, 4% или ширину экрана и т. Д.), Но тогда остается вопрос о его масштабировании по высоте или ширине экрана? Поэтому я хочу знать, каков идеальный способ масштабирования текста в целом.
Заранее спасибо за ответ.
Комментарии:
2. должно быть закрыто, потому что мнение основано
Ответ №1:
Вы можете создавать файлы размеров, и размеры, определенные в этих файлах, будут использоваться в соответствии с dpi устройства. Вам нужно будет создать:
- res/values-mdpi/dimens.xml
- res/values-hdpi/dimens.xml
- res/values-xhdpi/dimens.xml
- res/values-xxhdpi/dimens.xml
- res/values-xxxhdpi/dimens.xml
Ниже приведены соотношения, которые вы хотели бы использовать для разных размеров экрана: 3:4:6:8:12 ( m: h: xh: xxh: xxxh)
Допустим, у вас есть устройство (hdpi), вы хотите установить размер текста равным 12sp. Таким образом, вы будете устанавливать размеры текста как:
- mdpi — 9sp
- hdpi — 12sp
- xhdpi — 18sp
- xxhdpi — 24sp
- 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? что вы хотите сделать с этими файлами?