如何显示Dialog窗口

文章目录

  • 1. 概念介绍
  • 2. 使用方法
    • 2.1 Overlay效果
    • 2.1 Dialog效果
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"使用get显示snackBar"相关的内容,本章回中将介绍使用get显示Dialog.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在介绍Get包时提到该包提供了一些实用功能,显示Dialog就是其中之一,Dialog是项目中常用的组件,本章回中将详细介绍如何使用Get包显示Dialog.

2. 使用方法

在Get包中提供了两种显示Dialog的方法,不过它们显示的效果不同,我们将在下面的小节中分开介绍这两种不同显示效果的Dialog。

2.1 Overlay效果

Get包提供了dialog方法来显示Dialog,该方法是静态方法,可以直接调用,该方法中显示的内容通过Widget类型的参数控制,不过该参数不是命名参数,因此没有名
称。该方法提供了其它的命名参数来控制显示效果,我们在这里不展开介绍,大家可以参考方法的源代码。该方法运行后显示的Dialog效果不像我们常见的Dialog,它
和我们在前面章回中介绍的Overlay效果完全相同。因此,我们可以使用该方法显示Overlay.

2.1 Dialog效果

Get包提供了defaultDialog方法来显示Dialog,它的显示效果就是我们常见的Dialog.该方法是静态方法,可以直接调用,该方法会创建一个Dialog,该方法提供了
相关的参数来控制Dialog的内容,颜色等风格,开发人员只需要给参数赋值就可以创建出不同的Dialog.下面是该方法中常用的参数:

  • title:用来控制Dialog的标题,它是String类型;
  • content:用来控制Dialog的内容,它是widget类型;
  • confirm:用来控制Dialog中的确认按钮,它是widget类型;
  • cancel:用来控制Dialog中的取消按钮,它也是widget类型;
  • actions:用来的控制Dialog中的确认或者取消按钮,它可以同时显示多个Action;
    上面介绍的这些参数都是常用的参数,不过action参数最好不要和confirm/cancel一起使用,因为它们的功能相同。如果想显示多个功能按钮,那么可以使用action.
    此外,action的位置在Dialog的右下角,它的风格就是典型的Material风格。

3. 示例代码

ElevatedButton(
  onPressed:() {
    ///和官方Overlay的效果完全一样,不像dialog
    Get.dialog(//const Text("This is dialog"),
      ///这里控制dialog中的组件,可以是简单的文本,也可以是多种组件的组合
      const Column(
        children: [
          Text("Row1"),
          Text("Row2"),
        ],
      ),
      barrierColor: Colors.lightBlueAccent,
      ///不设置此属性不会有淡入淡出的效果,这里相当于给模糊层设置了一个淡入淡出的效果
      transitionDuration: const Duration(seconds: 2,),
    );
  } ,
  child: const Text("show Dialog"),
),
ElevatedButton(
  onPressed:() {
    ///这个才是正常的Dialog,不过大小是自适应的,无法调整窗口的大小
    Get.defaultDialog(
      title: "Title",
      backgroundColor: Colors.greenAccent,
      content: const Text("Content , this ia a long text"),
      ///文字居中显示,无法调整位置
      confirm: const Text("Yes"),
      cancel:  const Text("No"),

      ///在窗口最底部和confirm/cancel按钮在一行
      actions: [
        // Text("Action1"),
        // Text("Action2"),
      ],
      buttonColor: Colors.purpleAccent,
      navigatorKey:Get.key,
    );
  } ,
  child: const Text("show Dialog"),
),

上面的示例代码演示了两种创建dialog的方法,第一种方法的显示效果和Overlay相同,第二种方法的显示效果就是我们常用的dialog。我在这里就不演示程序的运行
效果了,建议大家自己动手去实践。

4. 内容总结

最后,我们对本章回的内容做一个全面的总结:

  • Get提供了两种方法显示Dialog,不过Dialog的显示效果不同;
  • 使用dialog()方法可以创建一个类似Overlay显示效果的窗口;
  • 使用defaultDialog()方法可以创建一个具有经典风格的对话框窗口;
  • Get包中显示Dialog的方法都是静态方法,并且不需要提供Context对象,使用十分方便;
    看官们,与"使用get显示Dialog"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/874705.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

又一款强大好用的Shell脚本项目,支持Bash,Sh、Dash、Ksh等,甚至可以在编辑器中直接用,程序员必备!(附源码)

作为一个程序员,肯定经常都要和shell脚本打交道,Shell脚本可以帮我们自动化各种任务,但也经常有格式错误、拼写错误、逻辑错误等等麻烦,而且它不会告诉你错在哪里! 今天就给大家分享一个超级实用的开源项目 - ShellCh…

Vue接入高德地图并实现基本的路线规划功能

目录 一、申请密钥 二、安装依赖 三、代码实现 四、运行截图 五、官方文档 一、申请密钥 登录高德开放平台,点击我的应用,先添加新应用,然后再添加Key。 如图所示填写对应的信息,系统就会自动生成。 二、安装依赖 npm i am…

Opencv中的直方图(3)直方图比较函数compareHist()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 比较两个直方图。 函数 cv::compareHist 使用指定的方法比较两个密集或两个稀疏直方图。 该函数返回 d ( H 1 , H 2 ) d(H_1, H_2) d(H1​,H2​…

el-form之表单校验自动定位到报错位置问题,,提升用户体验

需求描述 由于需要填写的表单项太多,提交的时候校验不通过,如果没填写的表单项在最上面,用户看不到不知道发生了啥,所以需要将页面滚动定位到第一个报错的表单项位置,提升用户体验 实现步骤 点击保存校验 报错项class会…

echarts 水平柱图 科技风

var category [{ name: "管控", value: 2500 }, { name: "集中式", value: 8000 }, { name: "纳管", value: 3000 }, { name: "纳管", value: 3000 }, { name: "纳管", value: 3000 } ]; // 类别 var total 10000; // 数据…

基于BiLSTM-CRF的医学命名实体识别研究(下)模型构建

一.生成映射字典 接下来需要将每个汉字、边界、拼音、偏旁部首等映射成向量。所以,我们首先需要来构造字典,统计多少个不同的字、边界、拼音、偏旁部首等,然后再构建模型将不同的汉字、拼音等映射成不同的向量。 在prepare_data.py中自定义…

Vue 获取参数

Vue 获取参数 在Vue.js开发过程中,获取参数是处理用户输入和动态数据的关键环节。本文将深度解析Vue中获取参数的几种方法,并分享一些扩展与高级技巧,帮助你更高效地完成参数处理任务。 文章目录 Vue 获取参数 一、Vue获取参数包含哪些几种1.…

【无标题】nginx服务器代码信息、数据库连接信息、敏感文件的路径、服务器版本信息发起有针对性的攻击

Nginx敏感文件的路径、服务器版本信息 Nginx 403、404、500等错误时,返回详细错误信息。报错信息中可能会包含服务器代码信息、数据库连接信息、敏感文件的路径、服务器版本信息等,攻击者可以利用这些信息来寻找已知的漏洞,从而发起有针对性…

mybatis 查询Not Found TableInfoCache

近期在工程迁移中遇到一个mybatis查询的问题,检查代码没有问题,但是报Not Found TableInfoCache 解决过程 是不是数据库对应表错误或者实体类指定的表名错误 查看配置文件链接的数据源是否正确TableName中指定的表名然后去数据库看一下是否存在 如果…

spring揭秘19-spring事务01-事务抽象

文章目录 【README】【1】事务基本元素【1.1】事务分类 【2】java事务管理【2.1】基于java的局部事务管理【2.2】基于java的分布式事务管理【2.2.1】基于JTA的分布式事务管理【2.2.2】基于JCA的分布式事务管理 【2.3】java事务管理的问题 【3】spring事务抽象概述【3.1】spring…

MSSQL数据库安全配置

预备知识 1、数据库安全的概念 对任何企业组织来说,数据的安全性最为重要。安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到数据库,并访问数据以及对数据库对象实施各种权限范围内的操作,但是要拒绝所有的非授权用户的非法操作。因此安全性管理与用户管理是…

pptpd配置文件/etc/pptpd.conf详解

正文共:1111 字 2 图,预估阅读时间:1 分钟 如果要在Linux系统配置PPTP(Point-to-Point Tunneling Protocol,点到点隧道协议)VPN,一般是使用pptpd软件。pptpd命令通常从配置文件/etc/pptpd.conf中…

6.第二阶段x86游戏实战2-理解程序流程

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

CNSS Recruit 2024 Web方向 题解WriteUp

文章首发于【先知社区】:https://xz.aliyun.com/t/15586 babyHTTP 开题,Http传参问题 GET: ?CNSShackersPOST: webfunCookie: admintruePHPinfo 开题 根据题目描述,猜测phpinfo.php文件有东西。 phpinfo…

什么是嵌入式?行业前景如何?

目录 什么是嵌入式? 主要特点 常见应用场景 1. 工业自动化 2. 交通运输 3. 智能家居 4. 消费电子 5. 医疗设备 6. 航空航天 7. 物联网(IoT) 8. 能源管理 行业前景如何? 市场需求强劲 物联网(IoT)的爆发 汽车…

AutoDroid: LLM-powered Task Automation inAndroid论文学习

光看题目怎么和上一篇差不多?又是纯用LLM的? 当然还是有一点不一样的: 这里的最大特点是加上了UI领域知识,可以大幅增强LLM在处理UI方面的知识的能力。根据文章的说法,使用了这招他们的LLM可以吊打GPT4V,准…

优秀的安防视频监控平台应该具备怎样的视频编解码能力?

随着安防技术的飞速发展,监控平台作为保障公共安全、维护社会秩序的重要工具,其性能与效率日益成为行业关注的焦点。其中,监控平台的视频编码能力在视频监控系统中扮演着至关重要的角色,视频编码技术作为监控系统的核心组成部分&a…

记一次导入dbf文件后数据为空问题的解决方法

前言 省流:这篇文章最终采用的是更换导出文件格式的方法,看到这里觉得方法不适用的小伙伴可以不用浪费几秒钟看完这篇文章哦。 问题描述 作者使用的是Navicat数据库管理工具,然后在将源数据库的数据表导出为dbf格式文件后,再将…

自然语言处理系列六十九》搜索引擎项目实战》搜索框架技术选型

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列六十九搜索引擎项目实战》搜索框架技术选型搜索…

9月11日

使用绘制事件完成钟表的绘制 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTcpSocket> #include<QMessageBox>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpub…