Детектор жестов не хочет определять размер дочернего контейнера (если вы не укажете ему цвет) - PullRequest
0 голосов
/ 23 октября 2019

Так что эта проблема сводит меня с ума, поэтому любая помощь будет принята с благодарностью:)

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

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

//The params width and height are given values up here
...
return Container(
        color: Color(0XFF0000FF), //Blue container which shows the actual size I want the GD to be.
        child: ColorFiltered( //Red shows how big the GD actually is.
          colorFilter: ColorFilter.mode(Color(0XFFFF0000), BlendMode.hue),
            child: RawGestureDetector(
            key: gestureKey,
            behavior: HitTestBehavior.translucent,
            gestures: <Type, GestureRecognizerFactory>{
              _SingleDeviceGestureDetector: GestureRecognizerFactoryWithHandlers<
                  _SingleDeviceGestureDetector>(
                () => _SingleDeviceGestureDetector(
                  //When the pointer touches down on the screen
                  onHorizontalDragDown: (details) { ... }
                  onHorizontalDragUpdate: (details) { ... }
                  onHorizontalDragUp: (details) { ...}
                ),
                (_SingleDeviceGestureDetector instance) {},
              ),
            },
            child: Container(  //The child container with a transparent colour.          
              //color: Color(0X00000000),
              height: height,
              width: width,
              child: ...
            ),
          ),
        ),
      );
    });
  }

1 Показывает виджет, когда цвет не комментируется

2 Показывает виджет при комментировании цвета

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

Несмотря на то, что у меня есть исправление, оно кажется «хакерским», и все равно было бы хорошо выяснить, почему он это делает.

Приветствия

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