Сделать размер контейнера как родительский размер стека - PullRequest
0 голосов
/ 21 апреля 2020

Мне нужно нарисовать виджет поверх другого контента по условию. Я хочу выровнять этот виджет, как я хочу (используя Alignment). Я предположил, что мне нужно использовать Stack, то есть

Stack(
  children: [
    Column(), // Content
    Visibility(
      visible: isVisible, // condition is here
      child: Container(
        //height: double.infinity, // cause rendering crash
        child: Container(
          padding: ...,
          margin: ...,
          color: Colors.red,
          child: Text('message')
        ),
      ),
    ),
  ],
)

Мне нужно, чтобы первый Container заполнил все место, которое Stack, и поместил бы второй Container в любое место внутри первого Container.

Желаемое начальное условие не использовать Positioned.

Так возможно ли это в принципе? Если нет, можно использовать Positioned. Я реализую SnackBar прямоугольник, который я могу разместить внутри родительского прямоугольника.

1 Ответ

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

вместо использования heigth:double.infinity вы не можете обернуть в расширенный виджет.

Stack(
  children: [
    Column(), // Content
    Visibility(
      visible: isVisible, // condition is here
      child: Expanded( 
        child: Container(
          padding: ...,
          margin: ...,
          color: Colors.red,
          child: Text('message')
        ),
      ),
    ),
  ],
)
...