对话框默认圆角半径
概述
#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