Ответ на жест за пределами границы стека не получен - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь реализовать изменяемый размер виджета с ручками по углам. Угловые маркеры будут переполнены Stack на половину его ширины / высоты.

Проблема: внешняя часть дескриптора не сообщает о событиях жестов, пока внутренняя часть работает нормально.

Это задумано или я делаю что-то не так. Если это предполагаемое поведение, то что делать дальше.

образец кода

      Widget build(BuildContext context) {
        return Scaffold(
          backgroundColor: Colors.green,
          body: Transform.translate(
            offset: boxOffset,
            child: Stack(
              overflow: Overflow.visible,
              fit: StackFit.expand,
              children: <Widget>[
                Container(
                  width: 100.0,
                  height: 100.0,
                  color: Colors.red,
                ),
                Positioned(
                  left: 100.0 - 20.0,
                  top: 100.0 - 20.0,
                  child: GestureDetector(
                    onTap: () {print("tapped");},
                    child: Container(
                      width: 80.0,
                      height: 80.0,
                      color: Colors.blue,
                    ),
                  ),
                )
              ],
            ),
          )
        );
    }

enter image description here

1 Ответ

0 голосов
/ 05 июля 2018

Это желаемое поведение. Если виджеты могут перехватывать события указателя за пределами их границ; было бы легко попасть в ситуацию, когда невозможно определить, какой виджет является целевым.

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

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