概述

#

DialogSimpleDialogAlertDialogshowTimePicker 的例項現在預設形狀為 RoundedRectangleBorder,圓角半徑為 4.0 畫素。這符合 Material Design 的當前規範。在此更改之前,Dialog.shapeBorderRadius 的預設行為是 2.0 畫素。

背景

#

Dialog 及其相關子類(SimpleDialogAlertDialogshowTimePicker)的外觀略有不同,因為圓角半徑更大。如果您擁有包含先前渲染的、圓角半徑為 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