对话框默认圆角半径
概述
#Dialog、SimpleDialog、AlertDialog 和 showTimePicker 的实例现在默认形状为 RoundedRectangleBorder,圆角半径为 4.0 像素。这符合 Material Design 的当前规范。在此更改之前,Dialog.shape 的 BorderRadius 的默认行为是 2.0 像素。
背景
#Dialog 及其相关子类(SimpleDialog、AlertDialog 和 showTimePicker)的外观略有不同,因为圆角半径更大。如果您拥有包含先前渲染的、圆角半径为 2.0 像素的 Dialog 的主黄金文件图像,您的 widget 测试将失败。这些黄金文件图像可以更新以反映新的渲染,或者您可以更新您的代码以保持原始行为。
showDatePicker 对话框已符合此规范,不受此更改影响。
迁移指南
#如果您希望保留旧的形状,可以使用 Dialog 的 shape 属性指定原始的 2 像素半径。
将对话框形状设置为原始半径
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