Неправильное использование ParentDataWidget. Я не думаю, что у меня здесь большой выбор, не так ли?

#flutter #dart

#flutter #dart

Вопрос:

 IgnorePointer(
              child: cProtractor amp; darkModeOn
                  ? Positioned.fill(
                      child: Align(
                          alignment: Alignment.center,
                          child: Center(
                            child:
                                Image.asset('lib/assets/img/cprot2white.png',
                                    width: 500.0, height: 500.0),
                          )))
                  : SizedBox())
        ]));
  }
}
  

Вышеупомянутая функция включает и выключает наложение транспортира на мою карту Google. Его родительским элементом является body: Stack (дочерние элементы: [. Есть ли какой-либо способ исправить это или избавиться от ошибки? Функция работает.

Ответ №1:

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

Вы можете добиться того же, используя приведенный ниже код

   Positioned.fill(
            child: Align(
                alignment: Alignment.center,
                child: IgnorePointer(
                  child: Center(
                    child: Image.asset('lib/assets/img/cprot2white.png',
                        width: 500.0, height: 500.0),
                  ),
                ))),
  

Здесь изменена только иерархия виджетов

Комментарии:

1. Теперь, похоже, нет способа включить cProtractor amp; !darkModeOn amp; !satModeOn. :/

2. неважно. Я добавил это сверху, и это работает! Спасибо!