Я работаю над мобильным приложением, которое представляет собой книгу-игру. Он содержит эпизоды, каждый из которых состоит из одной или нескольких страниц текста. Для каждого эпизода я использую PageView с дочерними столбцами (с вложенным текстом и RichText) для каждой страницы. Ориентация экрана заблокирована на PortraitUp, а textScaleFactor — на 1.0. Проблемы, которые я обнаружил при таком подходе, связаны с различными характеристиками экрана мобильных устройств:
- Мне нужно определить количество текста для каждого дочернего элемента PageView. Но сколько текста не будет переливаться снизу на меньших экранах? Мой подход до сих пор состоит в том, чтобы тестировать на относительно небольших устройствах с разрешением, близким к 360 x 640 логических пикселей, и оставлять дополнительное пространство под текстом. Кроме того, я мог бы сделать каждую страницу PageView прокручиваемой, тем самым вообще предотвратив переполнение, но, на мой взгляд, это приведет к плохому UX.
- Я использую размер шрифта, подходящий для устройств с указанным разрешением. Но на значительно больших экранах это будет выглядеть некрасиво.
Итак, есть ли хороший способ определить, сколько текста разместить на каждой странице PageView и масштабировать размер шрифта в соответствии с размером мобильного устройства и характеристиками экрана? Кроме того, я буду признателен, если кто-нибудь предложит лучший способ составить такое книжное мобильное приложение с Flutter (используя другой набор виджетов).
Спасибо за ваше время.