Отзывчивый флаттер - PullRequest
       0

Отзывчивый флаттер

0 голосов
/ 20 февраля 2020

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

double h = MediaQuery.of(context).size.height;

Padding(padding: const EdgeInsets.fromLTRB(h*0.2, 5.0, 50.0, 0.0),
        child:...)

1 Ответ

0 голосов
/ 20 февраля 2020

Удалите ключевое слово const из вашего EdgeInsets. Ключевое слово const означает, что Flutter знает значения, которые виджет c будет использовать заранее. Очевидно, что если эти значения зависят от высоты устройства, Flutter не сможет их узнать, пока не выполнит ваш код.

Также рассмотрите возможность использования LayoutBuilder вместо MediaQuery для получения доступные ограничения пространства. По моему опыту, проще и гибче создавать нужные адаптивные макеты, получая ссылку на доступное пространство экрана, вместо использования фиксированного размера устройства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...