трепетание динамич c высота используемого пространства ConstrainedBox - PullRequest
0 голосов
/ 06 апреля 2020

Я хотел бы сделать динамический пробел c высота зависит от высоты экрана с помощью constrainedBox. Но если я не установил child или позволил child это sizeBox, высота была бы minHeight, а если let - это контейнер, было взято minHeight. Высота не динамическая c по экрану. Так что я могу сделать? Спасибо за вашу помощь!

                  ConstrainedBox(
                      child: Container(
                      ),
                        constraints:
                            BoxConstraints(
                              minWidth: double.infinity,
                              maxHeight: 100, minHeight: 30)),

1 Ответ

0 голосов
/ 06 апреля 2020

maxHeight работает только в том случае, если было необходимо пространство

, вы можете попробовать что-то вроде height: MediaQuery.of(context).size.width * 0.3 для 30% высоты

или Расширение с помощью flex, аналогично%

                  new Row(
                    children: <Widget>[
                      new Expanded(
                        flex: 2,
                        child: new Container()
                      ),
                      new Expanded(
                          flex: 1,
                          child: new Container()
                      ),
                    ]
                  )

здесь код с размером экрана> 600 и BoxConstraints тогда составляет 30 + 5%, в противном случае только 30

         ConstrainedBox(
              child: Container(
              ),
              constraints:
                  BoxConstraints(
                      minWidth: double.infinity,
                      maxHeight: 100, minHeight: MediaQuery.of(context).size.height > 600 ? 30 + MediaQuery.of(context).size.height * 0.05 : 30)),
...