Getsnackbar在Flutter中的底板中不工作

jjhzyzn0  于 2023-03-13  发布在  Flutter
关注(0)|答案(1)|浏览(131)
static void showSuccessSnackBar(String message, {Color? color, int? secondsToDisplay}) {
    if (!Get.isOverlaysOpen) {
      GetSnackBar(
        backgroundColor: color ?? Colors.green,
        duration: Duration(seconds: secondsToDisplay ?? 3),
        isDismissible: false,
        snackPosition: SnackPosition.TOP,
        borderRadius: 10.r,
        margin: EdgeInsets.symmetric(horizontal: 15.w, vertical: 15.h),
        snackStyle: SnackStyle.FLOATING,
        messageText: CustomText(
          message,
          isCentered: true,
          maxLine: 5,
          overflow: TextOverflow.ellipsis,
          fontFamily: fontSemiBold,
          fontSize: 14.sp,
          textColor: white,
        ),
      ).show();
    }
  }

上面的代码是snackbar的。我已经做了snackbar的方法,所以我可以在我的整个项目中使用它。但它在bottomsheet中不工作。

f45qwnt8

f45qwnt81#

isOverlaysOpen也在底层工作表返回true。请参见实现:

/// Returns true if a Snackbar, Dialog or BottomSheet is currently OPEN
  bool get isOverlaysOpen =>
      (isSnackbarOpen || isDialogOpen! || isBottomSheetOpen!);

相关问题