Flutter CupertinoFullscreenDialogTransition Widget使用详解
CupertinoFullscreenDialogTransition Widget是一个Cupertino风格的全屏对话框过渡动画。通常在使用CupertinoPageRoute路由时,通过设置fullscreenDialog参数为true来使用该过渡动画。
CupertinoFullscreenDialogTransition Widget具有以下属性:
- primaryRouteAnimation: 一个Animation
对象,表示当前(主)路由的动画。  - secondaryRouteAnimation: 一个Animation
对象,表示要进入的(次要)路由的动画。  - child: 一个Widget类型的值,表示要执行动画的Widget。
 
下面是一个使用CupertinoFullscreenDialogTransition Widget的例子:
class CupertinoDialogDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Cupertino Dialog Demo'),
      ),
      body: Center(
        child: CupertinoButton(
          child: Text('Show Dialog'),
          onPressed: () {
            Navigator.of(context).push(
              CupertinoPageRoute(
                fullscreenDialog: true,
                builder: (BuildContext context) => CupertinoDialog(
                  title: Text('Delete Item?'),
                  content: Text('Are you sure you want to delete this item?'),
                  actions: [
                    CupertinoDialogAction(
                      child: Text('Cancel'),
                      onPressed: () => Navigator.of(context).pop(),
                    ),
                    CupertinoDialogAction(
                      child: Text('Delete'),
                      isDestructiveAction: true,
                      onPressed: () {
                        // Perform delete operation
                        Navigator.of(context).pop();
                      },
                    ),
                  ],
                ),
              ),
            );
          },
        ),
      ),
    );
  }
}
在上面的例子中,我们使用了CupertinoPageRoute路由,并将fullscreenDialog参数设置为true。这意味着我们将使用CupertinoFullscreenDialogTransition Widget来过渡到CupertinoDialog Widget。
CupertinoFullscreenDialogTransition Widget通常用于在Cupertino应用程序中为用户提供一个无缝的全屏过渡动画体验。注意,它通常在使用CupertinoPageRoute路由时使用,而不是在自定义路由时使用。