如何显示Dialog窗口

news2024/11/15 11:08:11

文章目录

  • 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"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【卷起来】VUE3.0教程-07-异步请求处理(springboot后端)

&#x1f332; 服务端接口准备 pom文件&#xff0c;引入mybatis/mybatis-plus相关依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>&…

Split函数

Split:可以将一个完整的字符串按照指定的分隔符划分为若干个子字符串。 String[] split(String regex) :将字符串全部拆分. String[] split(String regex, int limit) :将字符串以指定的格式&#xff0c;拆分为limit 组 代码实例&#xff1a; 切割小数点&#xff0c;或\ ,需…

每日单词记背

2024年9月12日 1.discriminate&#xff1a;歧视&#xff0c;区别&#xff0c;分辨 discriminate against 歧视&#xff1b;排斥 discriminate between 区别 辨别 dis(区别)crim(罪犯)inate ->区别为罪犯->歧视 it is illegal to discriminate against women in any way.…

【Linux修行路】信号的产生

目录 ⛳️推荐 一、信号的产生 二、产生信号的系统调用 2.1 kill——给指定的进程发送指定的信号 2.2 模拟实现指令 kill 2.3 raise——给调用的进程发送指定的信号 2.4 abort——给调用者发送 6 号信号 三、验证哪些信号不可以被捕捉 四、为什么除0和解引用空指针会给…

数据库(DB、DBMS、SQL)

今天我来讲解一下数据库和可视化数据库管理系统的使用 数据库概述 数据库 存储数据的仓库&#xff0c;数据是有组织的存储 DataBase (DB) 数据库管理系统 操纵和管理数据库的大型软件 DataBaseMangement System (DBMS) SQL 操作关系型数据库的编程语言&#xff0c;定义…

探索最佳 Shell 工具:全面测评 Bash、Zsh、Fish、Tcsh 和 Ksh

感谢浪浪云支持发布 浪浪云活动链接 &#xff1a;https://langlangy.cn/?i8afa52 文章目录 1. 简介2. 测评工具3. 测评标准4. Bash 测评4.1 易用性4.2 功能特性4.3 性能4.4 可定制性4.5 社区和支持 5. Zsh 测评5.1 易用性5.2 功能特性5.3 性能5.4 可定制性5.5 社区和支持 6. F…

C++设计模式——Builder Pattern建造者模式

一&#xff0c;建造者模式的定义 建造者模式&#xff0c;又被称为生成器模式&#xff0c;是一种创建型设计模式&#xff0c;它将复杂产品的构建过程分解为一系列简单的步骤&#xff0c;每个步骤由独立的建造者对象负责。 建造者模式常用于创建复杂的对象&#xff0c;它避免了…

网络安全架构师

网络安全架构师负责构建全面的安全框架&#xff0c;以保护组织的数字资产免受侵害&#xff0c;确保组织在数字化转型的同时维持强大的安全防护。 摩根大通的网络安全运营副总裁兼安全架构总监Lester Nichols强调&#xff0c;成为网络安全架构师对现代企业至关重要&#xff0c;…

单向链表之创建,插入,输出(上)

文章目录 &#x1f34a;自我介绍&#x1f34a;创建&#x1f34a;插入&#x1f34a;输出 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以&#xff1a;点赞关注评论收藏&#xff08;一键四连&#xff09;哦~ &#x1f34a;自我介绍 Hello,大家好&#xff0c;我是小珑也要…

VMware Fusion虚拟机Mac版 安装Ubuntu操作系统教程

Mac分享吧 文章目录 下载镜像地址&#xff1a;[www.macfxb.cn](http://www.macfxb.cn)一、CentOS安装完成&#xff0c;软件打开效果二、Mac中安装Ubuntu虚拟机1️⃣&#xff1a;下载镜像2️⃣&#xff1a;创建虚拟机3️⃣&#xff1a;虚拟机设置4️⃣&#xff1a;虚拟机安装5️…

计算机三级 - 数据库技术 - 第十四章 数据仓库与数据挖掘 笔记

第十四章 数据仓库与数据挖掘 内容提要&#xff1a; 了解数据仓库相关技术了解数据仓库的设计、建造、运行及维护了解OLAP及多维数据模型了解数据挖掘技术 决策支持系统(DSS)&#xff1a;综合利用大量数据有机组合众多模型(数学模型和数据处理模型)&#xff0c;通过人机交互&a…

uniapp 端开发 echarts 树结构图

实现效果 &#xff1a; 1. 在uniapp 中写echarts 树结构图需要使用 <script module"echarts" lang"renderjs"> 否则会无法显示echarts 图形 rebderjs 代码 引入了 /static/echarts.min.js 是在 ECharts 在线构建 定制你的echarts <te…

001 RabbitMQ入门及安装

RabbitMQ入门及安装 文章目录 RabbitMQ入门及安装1.介绍1.AMQP和JMS2.目前主流的消息队列 2.安装1.Linux安装1.1 安装erlang1.2 RabbitMQ安装 2.Docker安装 3.核心组件 1.介绍 RabbitMQ是实现了高级消息队列协议&#xff08;AMQP&#xff09;的开源消息代理软件&#xff08;亦…

嵌入式音视频开发:探索多领域的融合与创新

摘要&#xff1a; 本文深入探讨了嵌入式音视频开发领域。从嵌入式系统的基础概念入手&#xff0c;阐述了其在音视频领域的独特地位。详细介绍了嵌入式音视频开发中涉及的硬件组件&#xff0c;如处理器、编解码器、存储设备等。分析了音视频编解码技术&#xff0c;包括常见的编解…

空间数据库概述

空间数据库简介 空间数据库是 地理信息系统 在计算机物理存储介质中存储的&#xff0c;与GIS应用相关的地理空间数据的总和。一般以一系列特定结构的文件形式组织后存储在介质上。 空间数据库的特点 可以存储、处理空间数据相比普通数据库提供更多、更复杂的数据类型以及更多…

[SWPU2019]Web1 超详细教程

老规矩先看源码&#xff0c;没找到啥提示&#xff0c;后面就是登录口对抗 弱口令试了几个不行&#xff0c;就注册了个账户登录进去 可以发布广告&#xff0c;能造成xss&#xff0c;但是没啥用啊感觉 查看广告信息的时候&#xff0c;注意到url当中存在id参数&#xff0c;可能存…

Leetcode面试经典150题-134.加油站

解法都在代码里&#xff0c;不懂就留言或者私信 class Solution {public int canCompleteCircuit(int[] gas, int[] cost) {/**如果只有一个加油站&#xff0c;那它本来就在那个为止&#xff0c;0就是它的编号?但是这只是你的想象&#xff0c;题目有个变态规定&#xff0c;自…

【linux】进程控制(2)

3. 进程等待 1. 是什么 通过系统调用 wait/waitpid 对子进程的退出状态进行检测和回收的功能 2. 为什么 僵尸进程无法杀死&#xff0c;通过进程等待来杀掉它&#xff0c;进而解决内存泄漏的问题 &#xff08;一&#xff09;进程等待的方法 a. wait : 代码 wait : 等待任意一…

解锁SAP数据的潜力:SNP Glue与SAP Datasphere的协同作用

在各种文章中&#xff0c;我们研究了客户如何利用SNP Glue与基于云的数据仓库和数据湖相结合&#xff0c;以充分利用其SAP数据。SNP Glue 通过高性能集成解决方案帮助客户解锁 SAP 数据孤岛。例如&#xff0c;可以使用SNP Glue先进的增量捕获&#xff08;CDC&#xff09;近乎实…

【Linux 报错】Ubuntu 20.04.5 LTS报错:“E: Unable to locate package xx”

问题描述&#xff1a; 在使用 &#xff08;Ubuntu 20.04.5 LTS&#xff09;学习 Linux 时&#xff0c;想要安装 tree 命令&#xff0c;出现下面的报错&#xff1a; rootiZwz9asjf1ddlt6fy1ebqpZ:~# apt install tree Reading package lists... Done Building dependency tree…