模糊对话框颤动背后的背景?

Sha*_*edi 15 dialog flutter

我想在SimpleDialog课堂上的对话框后面实现模糊背景。我正在寻找与此类似的东西,但用于颤振。

Github 安卓项目

编辑: 我已经检查过这个问题,但这是关于对话框的,我想在SimpleDialog.

Vik*_*ant 47

把你的Dialog内心包裹起来BackdropFilter

return new BackdropFilter(
    filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
    child: Dialog(
      shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(15.0)),
      backgroundColor: Color(ColorResources.BLACK_ALPHA_65),
      child: _dialogContent(),
    )
);

Widget _dialogContent() {}//Your dialog view
Run Code Online (Sandbox Code Playgroud)


Bro*_*eon 9

我使用 showGeneralDialog 方法实现了模糊背景,以使模糊过渡尽可能平滑。下面是一个例子:

showGeneralDialog(
    barrierDismissible: true,
    barrierLabel: '',
    barrierColor: Colors.black38,
    transitionDuration: Duration(milliseconds: 500),
    pageBuilder: (ctx, anim1, anim2) => AlertDialog(
        title: Text('blured background'),
        content: Text('background should be blured and little bit darker '),
        elevation: 2,
        actions: [
            FlatButton(
                child: Text('OK'),
                onPressed: () {
                    Navigator.of(context).pop();
                },
              ),
            ],
   ),
   transitionBuilder: (ctx, anim1, anim2, child) => BackdropFilter(
       filter: ImageFilter.blur(sigmaX: 4 * anim1.value, sigmaY: 4 * anim1.value),
           child: FadeTransition(
               child: child,
               opacity: anim1,
           ),
       ),
   context: context,
);
Run Code Online (Sandbox Code Playgroud)


Sah*_*mar 7

在 flutter 中,对话框和底部工作表背后的变暗效果是使用名为'ModalBarrier'的类完成。因此,您可以做的只是修改使背景变暗的代码。

您可以使用快捷方式“双移”“IntelliJ”中轻松搜索文件

首先,你需要

import 'dart:ui' show ImageFilter;

然后在构建方法中更改(行:96)

child: color == null ? null : DecoratedBox(
            decoration: BoxDecoration(
              color: color,
            ),
          ),
Run Code Online (Sandbox Code Playgroud)

进入

child: color == null ? null : BackdropFilter(
            filter: new ImageFilter.blur(sigmaX: 3, sigmaY: 3),
            child: Container(color: Color(0x01000000)),
          ),
Run Code Online (Sandbox Code Playgroud)

您可以根据您的用例更改'sigma'的值。

屏幕截图:模糊对话框