AlertDialog组件的功能与用法
文章目录
- 概念介绍
- 使用方法
- 示例代码
我们在上一章回中介绍了Dismissible Widget相关的内容,本章回中将介绍AlertDialog Widget.闲话休提,让我们一起Talk Flutter吧。

概念介绍
我们介绍的AlertDialog是指程序中弹出的确认窗口,其实我们在上一章回中删除ListView中的内容时已经使用过了,只是没有介绍它的用法而已,本章回中将详细
介绍它的使用方法。
使用方法
和其它的Widget一样,AlertDialog提供了相关的属性来控制自己,接下来我们将介绍一些常用的属性:
- title属性:主要用来显示对话框的标题;
- content属性:主要用来显示对话框中的内容;
- actions属性:主要用来显示对话框中的按钮,它的类型是List,因此可以接收多个按钮,类似Column中的children属性;
AlertDialog需要配合showDialog()方法才能使用,该方法中包含两个重要的参数,一个是上下文的环境context,一个是builder,该参数主要用来构造对话框。
具体的用法看代码就能明白。该方法可以看作是对话框的构造器,它还可以创建其它类型的对话框。
示例代码
_showAlertDialog() {showDialog(context: context,builder: (BuildContext context) {return AlertDialog(title: Text("Alert Dialog"),content: Text("This is a Example of AlerDialog"),actions: [TextButton(onPressed: () {print("Yes selected");Navigator.of(context).pop();},child: const Text("Yes"),),TextButton(onPressed: () {print("No selected");Navigator.of(context).pop();},child: const Text("No"),),],);});
}
在上面的代码中除了对话框相关的属性外,还有一个注意点:Navigator,我们首先获取当前的Navigator,然后进行pop操作,这样就可以关闭弹出的对话框窗口。我
们把该操作放在了Button的onPress方法中,这样可以在点击Button的同时关闭窗口。除了关闭窗口外,可以在该方法中添加相关的业务处理,比如我们在上一章回中
删除项目的操作就添加到了该方法中。这里的代码只是为了演示对话框,因此没有添加相关的业务代码。代码中使用的是TextButton widget,大家也可以换成其它的
Button,不过Button的风格最好与当前对话框的风格保持一致,不然它们组合在一起会有一种不协调的感觉。
此外,我们把对话框相关的代码封装到了一个方法中,把方法赋值给Button的onPress属性,当点击Button时就会弹出对话框,示例代码如下:
ElevatedButton(onPressed: () => _showAlertDialog(),child: const Text("Show Dialog"),
)
这里只列出了核心代码,完整的代码可以查看Github上ex019文件中的代码。编译并且运行上面的程序将会显示一个按钮,点击按钮就会弹出对话框,点击对话框中的
yes或者no按钮后对话框就会消失。我在这里就不演示程序的运行结果了,建议大家自己动手去实践。
看官们,关于AlertDialog Widget相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!
相关文章:
AlertDialog组件的功能与用法
文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了Dismissible Widget相关的内容,本章回中将介绍AlertDialog Widget.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们介绍的AlertDialog是指程序中弹出的确认窗口,其实我们在上一章回中删除…...
【Python百日进阶-Web开发-FastAPI】Day813 - FastAPI 响应模型
文章目录 一、返回与输入相同的数据二、添加输出模型三、在文档中查看四、响应模型编码参数4.1 使用 response_model_exclude_unset 参数4.1.1 默认值字段有实际值的数据4.1.2 具有与默认值相同值的数据4.2 response_model_include 和 response_model_exclude4.2.1 使用 list 而…...
洛谷U525376 信号干扰 (判断多个区间是否有重叠)
U525376信号干扰 题目描述 有 n n n 座信号塔,第 i i i 座信号塔的信号将覆盖区间 [ l i , r i ] [l_i,r_i] [li,ri]。 若某个点被超过一座信号塔的信号覆盖,则在该点会产生信号干扰。 对于信号塔区间 [ a , b ] [a,b] [a,b],若建…...
ESP32-S3模组上跑通esp32-camera(35)
接前一篇文章:ESP32-S3模组上跑通esp32-camera(34) 一、OV5640初始化 2. 相机初始化及图像传感器配置 上一回继续对reset函数的后一段代码进行解析。为了便于理解和回顾,再次贴出reset函数源码,在components\esp32-camera\sensors\ov5640.c中,如下: static int reset…...
Java进阶(二):Java设计模式
目录 设计模式 一.建模语言 二.类之间的关系 1.依赖关系 2.关联关系 3.聚合关系 4.组合关系 5.继承关系 6.实现关系 三.面向对象设计原则 单一职责原则 开闭原则 里氏替换原则 依赖倒置 接口隔离原则 迪米特原则 组合/聚合(关联关系)复用原则 四.23种设计模式…...
DeepSeek R1:中国AI黑马的崛起与挑战
文章目录 技术突破:从零开始的推理能力进化DeepSeek R1-Zero:纯RL训练的“自我觉醒”DeepSeek R1:冷启动与多阶段训练的平衡之道 实验验证:推理能力的全方位跃升基准测试:超越顶尖闭源模型蒸馏技术:小模型的…...
抗体人源化服务如何优化药物的分子结构【卡梅德生物】
抗体药物作为一种重要的生物制药产品,已在癌症、免疫疾病、传染病等领域展现出巨大的治疗潜力。然而,传统的抗体药物常常面临免疫原性高、稳定性差以及治疗靶向性不足等问题,这限制了其在临床应用中的效果和广泛性。为了克服这些问题…...
AndroidCompose Navigation导航精通2-过渡动画与路由切换
目录 前言路由切换NavControllerBackStackEntry过渡动画过渡原理缩放动画渐隐动画滑动动画动画过渡实战前言 在当今的移动应用开发中,导航是用户与应用交互的核心环节。随着 Android Compose 的兴起,它为开发者提供了一种全新的、声明式的方式来构建用户界面,同时也带来了更…...
基于微信小程序的社团活动助手php+论文源码调试讲解
4 系统设计 微信小程序社团微信小程序的设计方案比如功能框架的设计,比如数据库的设计的好坏也就决定了该系统在开发层面是否高效,以及在系统维护层面是否容易维护和升级,因为在系统实现阶段是需要考虑用户的所有需求,要是在设计…...
WebSocket 详解:全双工通信的实现与应用
目录 一、什么是 WebSocket?(简介) 二、为什么需要 WebSocket? 三、HTTP 与 WebSocket 的区别 WebSocket 的劣势 WebSocket 的常见应用场景 WebSocket 握手过程 WebSocket 事件处理和生命周期 一、什么是 WebSocket…...
漏洞修复:Apache Tomcat 安全漏洞(CVE-2024-50379) | Apache Tomcat 安全漏洞(CVE-2024-52318)
文章目录 引言I Apache Tomcat 安全漏洞(CVE-2024-50379)漏洞描述修复建议升级Tomcat教程II Apache Tomcat 安全漏洞(CVE-2024-52318)漏洞描述修复建议III 安全警告引言 解决方案:升级到最新版Tomcat https://blog.csdn.net/z929118967/article/details/142934649 service in…...
智慧园区系统分类及其在提升企业管理效率中的创新应用探讨
内容概要 智慧园区的概念已经逐渐深入人心,成为现代城市发展中不可或缺的一部分。随着信息技术的飞速发展和数字化转型的不断推进,一系列智慧园区管理系统应运而生。这些系统不仅帮助企业提高了管理效率,还在多个方面激发了创新。 首先&…...
29. 【.NET 8 实战--孢子记账--从单体到微服务】--项目发布
这是本专栏最后一篇文章了,在这片文章里我们不重点讲解如何配置服务器,重点讲如何发布服务,我们开始吧。 一、服务器配置 服务器配置包含:服务器的选择和项目运行环境的配置,下面我们分别来讲解一下。 在服务器选择上…...
Langchain+讯飞星火大模型Spark Max调用
1、安装langchain #安装langchain环境 pip install langchain0.3.3 openai -i https://mirrors.aliyun.com/pypi/simple #灵积模型服务 pip install dashscope -i https://mirrors.aliyun.com/pypi/simple #安装第三方集成,就是各种大语言模型 pip install langchain-comm…...
TensorFlow实现逻辑回归模型
逻辑回归是一种经典的分类算法,广泛应用于二分类问题。本文将介绍如何使用TensorFlow框架实现逻辑回归模型,并通过动态绘制决策边界和损失曲线来直观地观察模型的训练过程。 数据准备 首先,我们准备两类数据点,分别表示两个不同…...
C++进阶课程第2期——排列与组合1
大家好,我是清墨,欢迎收看《C进阶课程——排列与组合》。 啊,上一期我们的情况啊也是非常好的,今天直接开始! 排列(Arrange) 与上期一样啊,我们先了解一下排列的概念。 排列是指将…...
C++17 std::variant 详解:概念、用法和实现细节
文章目录 简介基本概念定义和使用std::variant与传统联合体union的区别 多类型值存储示例初始化修改判断variant中对应类型是否有值获取std::variant中的值获取当前使用的type在variant声明中的索引 访问std::variant中的值使用std::get使用std::get_if 错误处理和访问未初始化…...
Leetcode::119. 杨辉三角 II
119. 杨辉三角 II 已解答 简单 相关标签 相关企业 给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 示例 1: 输入: rowIndex 3 输出: [1,3,3,1]示例 2: 输入: rowIndex 0…...
多模态论文笔记——TECO
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细解读多模态论文TECO(Temporally Consistent Transformer),即时间一致变换器,是一种用于视频生成的创新模型&…...
Ubuntu 16.04用APT安装MySQL
个人博客地址:Ubuntu 16.04用APT安装MySQL | 一张假钞的真实世界 安装MySQL 用以下命令安装MySQL: sudo apt-get install mysql-server 这个命令会安装MySQL服务器、客户端和公共文件。安装过程会出现两个要求输入的对话框: 输入MySQL root用户的密…...
基于RAG与向量数据库的智能信息管理系统(IIMS)架构与实现
1. 项目概述:当AI成为你的“第二大脑”最近在折腾一个挺有意思的项目,叫“IIMS-By-AI”。乍一看这个标题,可能有点摸不着头脑,但拆解一下就能明白它的野心:IntelligentInformationManagementSystem, By AI。…...
无代码物联网实战:基于ESP32与WipperSnapper的泳池水温监测方案
1. 项目概述:告别繁琐编程,用无代码方案守护泳池水温又到了打理泳池的季节,除了常规的清洁和化学平衡,水温其实是个挺关键的指标。水温不仅影响游泳的舒适度,也关系到泳池加热设备的能耗和泳池化学品的反应速率。以前想…...
CircuitPython REPL与库管理:嵌入式开发的效率利器
1. CircuitPython REPL:你的嵌入式开发“瑞士军刀” 如果你玩过Arduino,肯定对“上传-编译-看结果”这个循环不陌生。每次改一行代码,都得重新编译、上传,然后盯着串口看输出,效率低得让人抓狂。CircuitPython带来的R…...
Python邮件自动化实战:基于mymailclaw的监控报警与Slack集成
1. 项目概述与核心价值最近在折腾邮件自动化处理的时候,发现了一个挺有意思的开源项目,叫psandis/mymailclaw。乍一看这个名字,你可能会联想到“邮件抓取”或者“邮件爬虫”。没错,它的核心定位就是一个用 Python 写的邮件客户端自…...
Cortex-A78C架构解析:AMU与ETM寄存器实战指南
1. Cortex-A78C核心架构与寄存器概览Cortex-A78C是Armv8-A架构的高性能实现,面向移动计算和边缘AI场景优化。作为A78系列的安全增强版本,它在保留原有3发射乱序执行流水线的基础上,新增了Pointer Authentication等安全扩展,同时强…...
子高斯随机变量与深度学习异常检测原理
1. 子高斯随机变量基础解析子高斯随机变量是概率论中一类具有特殊尾部性质的分布。简单来说,一个随机变量X如果满足存在常数σ>0,使得对于所有λ∈R都有E[exp(λX)] ≤ exp(λσ/2),那么我们就称X是σ-子高斯的。这类分布的关键特征是它们…...
Agent 一接数据同步任务就开始造重复记录:从 Change Capture 到 Idempotent Sink 的工程实战
一、数据同步交给 Agent 后,为什么目标端会翻倍 💾 在很多 AI 团队的生产环境中,Agent 接管的数据同步任务运行数天后,目标表数据量常变成源端的数倍。这不是 SQL 写错,而是 Exactly-Once 保障缺失所致。一次网络抖动就…...
AI教材写作必备:低查重工具,助力高效生成专业教材!
选择 AI 教材编写工具的困境与解决方案 在准备教材之前,选择合适的工具就像进入了一个“纠结的大迷宫”!使用办公软件确实方便,但功能往往太过基础,搭建框架和调整格式都得手动搞定;而如果选择专业的 AI 教材编写工具…...
从FreeRTOS到RT-Thread:手把手教你正确使用操作系统的动态内存API(避坑malloc)
从FreeRTOS到RT-Thread:嵌入式实时操作系统动态内存管理实战指南 在嵌入式开发领域,动态内存管理一直是开发者面临的棘手问题之一。当项目从裸机迁移到实时操作系统(RTOS)环境时,许多开发者会不自觉地延续使用标准C库的…...
Hugging Face Tokenizer的padding、truncation参数详解:如何让你的BERT/RoBERTa输入不出错?
Hugging Face Tokenizer的padding与truncation实战指南:BERT输入处理的深度解析 当你第一次将文本输入BERT模型时,是否遇到过这样的报错:"RuntimeError: The size of tensor a (512) must match the size of tensor b (128)"&#…...
