跳至主要内容

对话框的默认圆角

摘要

#

DialogSimpleDialogAlertDialogshowTimePicker 的实例现在具有 RoundedRectangleBorder 的默认形状,其 BorderRadius 为 4.0 像素。这与 Material Design 的当前规范相匹配。在此更改之前,Dialog.shapeBorderRadius 的默认行为为 2.0 像素。

上下文

#

Dialog及其关联子类(SimpleDialogAlertDialogshowTimePicker)的外观略有变化,因为边框半径变大了。如果您拥有使用先前渲染的Dialog(边框半径为2.0像素)的黄金文件图像,您的部件测试将失败。您可以更新这些黄金文件图像以反映新的渲染效果,或者您可以更新代码以保持原始行为。

showDatePicker对话框已匹配此规范,不受此更改的影响。

迁移指南

#

如果您希望保持旧形状,可以使用Dialog的shape属性指定原始的2像素半径。

将Dialog形状设置为原始半径

Dart
import 'package:flutter/material.dart';

void main() => runApp(Foo());

class Foo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        floatingActionButton: FloatingActionButton(onPressed: () {
          showDialog(
            context: context,
            builder: (BuildContext context) {
              return AlertDialog(
                content: Text('Alert!'),
                shape: RoundedRectangleBorder(
                    borderRadius: BorderRadius.all(Radius.circular(2))),
              );
            },
          );
        }),
      ),
    );
  }
}

如果您更喜欢新的行为并且黄金文件测试失败,可以使用以下命令更新主黄金文件

flutter test --update-goldens

时间线

#

包含版本:1.20.0-0.0.pre
稳定版发布:1.20

参考文献

#

API文档

相关PR