Cześć,
mam w aplikacji Popup który zdefiniowany jest w taki sposób:

Kopiuj
@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.