Стек внутри Стек в флаттер - PullRequest
       29

Стек внутри Стек в флаттер

0 голосов
/ 22 октября 2018

Я хочу поместить стек внутри стека во флаттере, он не будет работать, если я изменю положение внутренних виджетов, расположенных в стеке.

работает:

Stack(
    children: [
      Positioned(
        top: 150.0,
        child: Text("Text#1"),
      ),
      Positioned(
        top: 100.0,
        child: Stack(
          children: [
            Positioned(
              child: Text("Text#2"),
            )
          ],
        ),
      )
    ],
  )

Если я добавлю "top: 200.0 "внутри внутреннего стека, внутренний стэк исчезает, и ошибка броска флаттера

Stack(
    children: [
      Positioned(
        top: 150.0,
        child: Text("Text#1"),
      ),
      Positioned(
        top: 100.0,
        child: Stack(
          children: [
            Positioned(
              top:200.0,
              child: Text("Text#2"),
            )
          ],
        ),
      )
    ],

1 Ответ

0 голосов
/ 22 октября 2018

вы можете обернуть свой второй стек с контейнером с высота и ширина свойство.

Высота и ширина заполнения стека родительского виджета, но в вашем случае высота и ширина родительского виджета не определяются, так как это виджет стека.если вы определяете размер родительского виджета, чтобы стековый виджет мог позиционировать свой дочерний виджет с начальной точки.

  Stack(
    children: [
      Positioned(
        top: 350.0,
        child: Text("Text#1"),
      ),
      Positioned(
        top: 100.0,
        child: Container(
          height: mediaQueryData.size.height,
          width: mediaQueryData.size.width,
          child: Stack(
            children: [
              Positioned(
                top:200.0,
                child: Text("Text#2"),
              )
            ],
          ),
        ),
      )
    ],
  ),
...