darioielardi / flutter_speed_dial

Flutter plugin to implement a Material Design Speed Dial
https://pub.dev/packages/flutter_speed_dial
MIT License
410 stars 177 forks source link

SpeedDialChild does not honor dialog barrier #292

Open git-n-pissed opened 1 year ago

git-n-pissed commented 1 year ago

Instances of SpeedDialChild do not honor the barrier created by showGeneralDialog. The buttons are not visually or functionally effected by the barrier:

showGeneralDialog(
  context: context,
  barrierColor: await AdaptiveTheme.getThemeMode() == AdaptiveThemeMode.dark ? const Color(0xDD000000) : const Color(0xDDFFFFFF),
  barrierLabel: '',
  barrierDismissible: false,
  pageBuilder: (_, __, ___) {
    return SizedBox.expand(
      child: Center(
        child: Material(
          color: Colors.transparent,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            crossAxisAlignment: CrossAxisAlignment.center,
            children: const [
              CircularProgressIndicator(),
              SizedBox(height: 20),
              Text('Refreshing...'),
            ],
          ),
        ),
      ),
    );
  },
);

Here is what the buttons look like with out the dialog: without_barrier

Here is what the buttons look like with the dialog. Note the primary FAB (I'm not using a custom dialRoot) is covered by the dialog barrier as expected: with_barrier

prateekmedia commented 1 year ago

Actually the FAB renders a overlay so this should be the expected behavior I guess unless there is some way to specify z-index of the overlays