flutter - 有没有办法在颤动中使用 CupertinoAlertDialog 创建流行模式?
问题描述
应用程序背后的功能:
- 右上角的足球是一个 IconButton。
- 单击足球图标按钮后,它会在屏幕中间创建一个模态弹出窗口,并且模态框的外部是模糊的。
- 警报框显示标题“成功!” 然后是内容“你在足球世界中!”。
我已经包含了一个图像示例,说明代码成功后的外观。
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'),
),
),
);
}
}
问题:
- 没有显示错误。
- 弹出的模式的功能没有被执行。
我尝试过的不成功的事情:
- 我试图制作另一个无状态小部件,然后在 appBar 中包含该无状态小部件的名称。
解决方案
看起来您需要调用 showDialog 并将您的 CupertinoAlertDialog 传递给构建器
onPressed: () => {
showDialog(
context: context,
builder: (BuildContext context) => CupertinoAlertDialog(
title: Text('Success!'),
content: Text('You are in the football universe!')
),
),
},
推荐阅读
- javascript - 为什么要通过方括号访问 Symbol.iterator?
- angular - 函数返回后变量未定义,需要点击两次才能设置变量
- android - “等待调试器”而不处于调试模式
- javascript - 如何使用 .innerHTML 添加 html 标签?
- python - Python ValueError:解包的值太多(带有嵌套变量的 For 循环)
- c - 未知类型的可变参数
- swift - 如何从文本字段中关闭键盘
- wordpress - Wordpress + nginx + ALB + SSL -> 链接问题
- python - ModuleNotFoundError:没有名为“tensorflow.contrib.framework”的模块
- objective-c - 将 NSBezierPath 添加到 NSView,以便将子视图添加到 NSWindow