showPop method

void showPop(
  1. BuildContext context
)

Implementation

void showPop(BuildContext context) {
  if (_startedTime != null &&
      DateTime
          .now()
          .difference(_startedTime!)
          .inMilliseconds < interval) {
    return;
  }

  _startedTime = DateTime.now();

  Size size = MediaQuery
      .of(context)
      .size;

  ///获取OverlayState
  OverlayState? overlayState = Overlay.of(context);
  _overlayEntry = OverlayEntry(
      builder: (BuildContext context) =>
          GestureDetector(
            onTap: (){
              if(outTouchSide){
                closePop();
              }
            },
            child: Container(
                alignment: alignment,
                color: backGroundColor,
                width: size.width,
                height: size.height,
                child: BackdropFilter(
                  /// 背景过滤器
                  filter: ImageFilter.blur(sigmaX:sigmaX, sigmaY:sigmaY),
                  child: Opacity(
                    opacity: contentOpacity,
                    child: buildChild(this),
                  ),
                )),
          ));
  overlayState?.insert(_overlayEntry!);
}