Экран флаттера не работает, когда отображается вспышка

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

      void showSuccessNoti({
  required String message,
  required BuildContext context,
}) {
  showFlash(
    context: context,
    duration: const Duration(seconds: 2),
    builder: (context, controller) {
      return Flash.dialog(
        barrierColor: Colors.transparent,
        controller: controller,
        alignment: Alignment.topCenter,
        borderRadius: const BorderRadius.all(Radius.circular(4)),
        backgroundColor: Theme.of(context).backgroundColor,
        boxShadows: [
          BoxShadow(
            color: Colors.black.withOpacity(0.12),
            offset: const Offset(3.0, 3.0),
            blurRadius: 6,
          )
        ],
        margin: const EdgeInsets.only(top: kMediumPadding),
        child: Padding(
          padding: const EdgeInsets.symmetric(
            horizontal: kMediumPadding,
            vertical: kSmallPadding,
          ),
          child: Row(mainAxisSize: MainAxisSize.min, children: <Widget>[
            const Icon(
              Icons.check_circle,
              color: Color(0xFF52C41A),
              size: 18.0,
            ),
            const SizedBox(
              width: 8,
            ),
            Text(
              message,
              style: Theme.of(context).textTheme.bodyText2,
            )
          ]),
        ),
      );
    },
  );
}

Вот как я затем вызываю flash внутри своего приложения при изменении состояния:

      BlocConsumer<UpdatePersonalBloc, UpdatePersonalState>(
  listener: (context, state) {
    if (state.formStatus is SubmissionSuccess) {
      showSuccessNoti(
          message: L.of(context).updateSuccessAddress,
          context: context);
      Navigator.pop(context);
    } else if (state.formStatus is SubmissionFailed) {
      showErrorNoti(
          message: L.of(context).updateErrorMessage,
          context: context);
    }
  },
  builder: (context, state) {

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

0 ответов

Другие вопросы по тегам