對話方塊預設圓角半徑
概述
#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