Cześć,
mam w aplikacji Popup który zdefiniowany jest w taki sposób:
@override
Widget build(BuildContext context) {
return Dialog(
child: LayoutBuilder(
builder: (BuildContext context, BoxConstraints constraints) {
double dialogHeight = constraints.maxHeight;
double dialogWidth = constraints.maxWidth;
return SizedBox(
width: dialogWidth * 0.3,
height: dialogHeight * 0.55,
child: PageView(
controller: _pageController,
physics: NeverScrollableScrollPhysics(),
children: [
_buildPaymentMethodPage(),
_buildPromoPage(),
_buildSummaryPage(),
],
onPageChanged: (index) {
},
),
);
},
),
);
}
na popupie jest kilka stron, pierwsza z nich zawiera tylko jedno pole select oraz przycisk dalej.
Zastanawiam się czy jest jakiś lepszy sposób zarządzania wysokością tego okna, dodając height: dialogHeight * 0.55, na telefonach z dużym ekranem ten popup jest bardzo długi i jest masa pustego miejsca.
Czy można jakoś sprawdzać ile wysokości zajmują te dwa elementy które są w _buildPaymentMethodPage() i jakoś lepiej dynamicznie dostosowywać wysokość tego popupu?
Idealnie by było gdyby automatycznie ustawiał wysokość w zależności od elementów na aktualnie otwartej stronie a jeśli wysokość wychodzi więcej niż powiedzmy height: dialogHeight * 0.75 wtedy ustaw wysokość na height: dialogHeight * 0.75 i dodaj scroll do przewijania.