Flutter: появление пробела при использовании BoxConstraints

Пустое пространство в горизонтальном представлении, при этом максимальная ширина контейнера с BoxConstraints.

Версии

Флаттер: 3.3.0

Дарт: 2.18.0

Мой код

      return Scaffold(
  body: Container(
    decoration: ...,
    padding: const EdgeInsets.all(16.0),
    child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        Flexible(
          flex: 1,
          child: Container(
            padding: const EdgeInsets.all(10.0),
            child: Image.asset(
              'assets/logo/logo.png',
              width: 300,
            ),
          ),
        ),
        Flexible(
          flex: 2,
          child: Card(
            shape: ...,
            elevation: 8.0,
            child: Container(
              constraints: const BoxConstraints(
                maxWidth: 500,
              ),
              height: 400,
              child: ListView(
                padding: const EdgeInsets.all(40),
                children: [
                  Form(
                    key: _formKey,
                    child: Column(
                      children: [
                        ...
                      ],
                    ),
                  ),
                ],
              ),
            ),
          ),
        ),
      ],
    ),
  ),
);

Скриншот:

Горизонтальный вид, пустое пространство справа

Вертикальный вид

1 ответ

Просто установите внешнийContainerширина до ширины экрана остроумиеMediaQuery.of(context).size.widthили даже прощеdouble.infinity. Это будет выглядеть следующим образом:

          return Scaffold(
      body: Container(
        decoration: ...,
        width: double.infinity,
        padding: const EdgeInsets.all(16.0),

Другие вопросы по тегам