【问题标题】:How to close a dialog in Flutter using the Back button on Android?如何使用 Android 上的后退按钮关闭 Flutter 中的对话框?
【发布时间】:2023-01-21 01:42:00
【问题描述】:

我有一个用于提醒的小部件。在这个小部件的帮助下,我显示警报。我遇到了一个问题,我需要使用 Android 系统中的后退按钮(在屏幕底部)来关闭我的对话框。现在,当我单击时,什么也没有发生,对话框也没有关闭。如何使用 Android 上的后退按钮关闭警报?

Future<dynamic> showFlexibleBorderDialog({
    required BuildContext context,
    required Widget child,
    Function()? onPositivePressed,
    Function()? onNegativePressed,
    Color borderColor = constants.Colors.purpleMain,
    EdgeInsets margin = const EdgeInsets.symmetric(horizontal: 24),
    EdgeInsets padding =
        const EdgeInsets.symmetric(horizontal: 18, vertical: 34),
    bool barrierDismissible = true,
  }) async {
    dynamic isSelected;
    return await showDialog(
        context: context,
        useRootNavigator: false,
        barrierDismissible: barrierDismissible,
        builder: (context) {
          return FlexibleBorderDialog(
            borderColor: borderColor,
            margin: margin,
            padding: padding,
            child: child,
          );

身体

ShowCustomDialog().showFlexibleBorderDialog(
      context: context,
      barrierDismissible: false,
      child: PoyntLocationDialog()),

【问题讨论】:

  • barrierDismissible: true,

标签: flutter dart


【解决方案1】:

您是否尝试过使用 WillPopScope() 包装警报对话框?

ShowCustomDialog().showFlexibleBorderDialog(
  barrierDismissible: false,
  context: context,
  builder: (BuildContext context) {
    return WillPopScope( //<---
      child: PoyntLocationDialo(
        ................
      ),
      onWillPop: (){return true},
    );
  },
);

【讨论】:

  • 是的,它没有用。
  • 检查更新的代码
猜你喜欢
  • 2012-08-22
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 2016-02-21
  • 2011-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多