首页 > 解决方案 > 有没有办法在颤动中使用 CupertinoAlertDialog 创建流行模式?

问题描述

应用程序背后的功能:

  1. 右上角的足球是一个 IconButton。
  2. 单击足球图标按钮后,它会在屏幕中间创建一个模态弹出窗口,并且模态框的外部是模糊的。
  3. 警报框显示标题“成功!” 然后是内容“你在足球世界中!”。

我已经包含了一个图像示例,说明代码成功后的外观。

颤振应用

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Welcome to Flutter',
      home: Scaffold(
        appBar: AppBar(
          backgroundColor: Colors.deepPurple[200],
          actions: <Widget>[
            IconButton(
              icon: Icon(
                MdiIcons.soccer,
                color: Colors.grey[800],
              ),
              iconSize: 30,
              onPressed: () => {
                CupertinoAlertDialog(
                  title: Text('Success!'),
                  content: Text('You are in the football universe!'),
                ),
              },
            ),
          ],
        ),
        body: Center(
          child: Text('Hello World'),
        ),
      ),
    );
  }
}

问题:

  1. 没有显示错误。
  2. 弹出的模式的功能没有被执行。

我尝试过的不成功的事情:

  1. 我试图制作另一个无状态小部件,然后在 appBar 中包含该无状态小部件的名称。

标签: flutterflutter-layout

解决方案


看起来您需要调用 showDialog 并将您的 CupertinoAlertDialog 传递给构建器

onPressed: () => {
   showDialog(
      context: context,
      builder: (BuildContext context) => CupertinoAlertDialog(
         title: Text('Success!'),
         content: Text('You are in the football universe!')
      ),
   ),
},

推荐阅读