Флаттер: Как переполнить кнопку внутри коробки? - PullRequest
0 голосов
/ 06 апреля 2020

Я пытаюсь воспроизвести эту кнопку макета enter image description here

Я создал стек с контейнером и позиционированной кнопкой, но не могу выбрать кнопку из box.

                  Stack(children: <Widget>[
                    Container(
                      decoration: new BoxDecoration(
                        shape: BoxShape.rectangle,
                        border: new Border.all(
                        color: Colors.black,
                        width: 1 
                        )
                      ),
                      child: Text("League of legends")
                    ),
                    Positioned(
                      right: 0,
                      bottom: 0,
                      child: Container(
                        width: 9,
                        height: 9,
                        child: new Container(
                          width: 9,
                          height: 9,
                          decoration: new BoxDecoration(
                            color: Colors.white,
                            shape: BoxShape.circle,
                          ),
                        ),
                      )
                    )
                  ])

Я пытался добавить Padding, но безуспешно.

Результат моего кода такой: enter image description here

1 Ответ

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

Конструктор Stack имеет аргумент overflow, который позволяет вам выбирать, рисовать ли его дочерние элементы за пределами его границы.

Передав Overflow.visible в overflow и установив отрицательный значения в right и bottom в Positioned(), вы можете сделать круг из коробки.

Stack(
  overflow: Overflow.visible,
  children: <Widget>[
    Container(
      decoration: ...,
      child: ...,
    ),
    Positioned(
      right: -4,
      bottom: -4,
      child: Container(
        width: 9,
        height: 9,
        decoration: new BoxDecoration(
          color: Colors.white,
          shape: BoxShape.circle,
        ),
      ),
    )
  ],
)

Я сократил избыточно вложенные контейнеры в один.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...