第四百九十八回

文章目录

  • 1. 概念介绍
  • 2. 使用方法
    • 2.1 固定样式
    • 2.2 自定义样式
  • 3. 示例代码
  • 4. 内容总结

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

在这里插入图片描述

1. 概念介绍

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

2. 使用方法

在项目中SnackBar是常用的组件,Get包提供了两种显示SnackBar的方法:一种使用固定的样式,简单易用,另外一种使用自定义样式,可以自行扩展。我们将在接下
来的小节中介绍这两种方法。

2.1 固定样式

包中提供了snackbar()方法来显示SnackBar,我们只需要给该方法传递title和message两个参数就可以。该方法是静态方法,直接使用Get.snckbar()就可以在
页面顶部显示一个透明的SnackBar.如果想修改SnackBar的位置,颜色等主题风格,可以使用方法中的其它参数,详细如下:

  • snackPosition:用来控制snackBar在页面中的位置;
  • borderRadius:用来控制snackBar窗口的圆角大小;
  • borderColor:用来控制snackBar窗口边框的线条颜色;
  • backgroundColor:用来控制snackBar窗口的背景颜色;
  • borderWidth:用来控制snackBar窗口边框的线条粗细;
  • instantInit:用来控制是否使用默认的snackBar;
    上面介绍的这些参数比较好用,从名字就能看出来它们的用法与功能,snackbar()方法还提供了其它的参数,大家可以参考该方法的文档或者源代码。需要注意的是在
    使用这些参数时需要把instantInit参数的值设置为false,这样才可以使用这些参数,否则它会使用默认的SnackBar。在大部分情况下,只需要给该方法传递title
    和message两个参数使用默认的样式就可以,因此我们称这种使用SnackBar的方法为"固定样式"。

2.2 自定义样式

包中提供了showSnackbar()方法,我们需要给该方法传递一个GetSnackBar类型的对象,该方法是静态方法,直接使用Get.showSnackbar()就可以在页面底部
显示一个SnackBar.其实这个showSnackbar方法在Material方法中也有同名的方法,它们用法相同,最大的区别就是Get包中使用该方法时不需要传递BuildContext
类型的对象,因此使用该方法十分的方便。我们再回头介绍一下GetSnackBar组件,它和官方提供的SnackBar组件用法相似,也是通过属性来控制组件,不过它添加一
些其它的功能,比如显示进度条等。下面是该组件中常用的属性:

  • title属性:用来控制SnackBar中的标题;
  • message属性:用来控制SnackBar中显示的内容;
  • duration属性:用来控制SnackBar显示的时间;
  • backgroundColor属性:用来控制SnackBar的背景颜色;
  • margin属性:用来控制SnackBar与屏幕的边距;
  • borderRadius属性:用来控制SnackBar的形状,主要是控制圆角;
  • showProgressIndicator属性:用来控制SnackBar顶部是否显示水平滚动条;
  • snackPosition属性:用来控制SnackBar在页面中的位置;
  • snackStyle属性:用来控制SnackBar的属性,通常设置为SnackStyle.FLOATING;
    上面介绍的这些参数比较好用,从名字就能看出来它们的用法与功能,GetSnackBar组件还提供了其它的参数,大家可以参考该方法的文档或者源代码。在使用这种方法
    显示SnackBar时,我们创建了自定义的GetSnackBar组件,因此我们称这种使用SnackBar的方法为"自定义样式"。

3. 示例代码

ElevatedButton(onPressed: () {///这个snb默认透明色而且是在顶部显示Get.snackbar("title", "Message");},child: const Text("show SnackBar"),
),
ElevatedButton(onPressed: () {Get.showSnackbar(const GetSnackBar(title: "Title",message: "Message",///需要加显示时间,默认一直显示duration: Duration(seconds: 2),backgroundColor: Colors.blue,///控制snb与屏幕的边距margin:EdgeInsets.only(bottom: 80,left: 16,right: 16),///不能像原生的snb一样控制形状,但是可以控制圆角,默认是矩形borderRadius: 16,///会在snb顶部显示水平滚动条showProgressIndicator: true,///这两个属性决定了snackBar的默认在底部显示// this.snackPosition = SnackPosition.BOTTOM,// this.snackStyle = SnackStyle.FLOATING,));},child: const Text("show custom SNB"),
),

上面的示例代码演示了两种显示SnackBar的方法,我们在代码中添加了详细的注释,方便大家理解。此外,示例代码中把显示SnackBar的操作封装到了按钮的中,运行
程序时只需要点击按钮就可以显示SnackBar.我们在这里就不演示程序的运行结果了,建议大家自己动手去创建属性自己风格的SnackBar.

4. 内容总结

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

  • 包中提供了两种显示SnackBar的方法,直接调用不同的方法就可以;
  • 使用snackbar()方法时显示的是默认样式的SnackBar;
  • 使用showSnackbar()方法时可以自定义各种样式的SnackBar;
  • 不管使用哪种方法显示SnackBar,都不需要使用BuildContext,这是本包最大的特点;
    看官们,与"使用get显示SnackBar"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【声呐仿真】学习记录2-运行ROV(带camera、sonar、dvl等传感器)例程

【声呐仿真】学习记录2-运行ROV(带camera、sonar、dvl等传感器)例程 前言第一阶段-学习Gazebo第二阶段-学习URDF、xacro第三阶段-寻找例程跑一个rexrov示例程序1.uuvsimulator quick_start2.能键盘控制的示例程序(失败)3.能键盘控…

oracle 9i 行头带有scn的表

oracle 9i 行头带有scn的表 conn scott/tiger drop table t1; drop table t2; create table t1(c varchar2(5)); create table t2(c varchar2(6)) ROWDEPENDENCIES; --t2表每行都有scn,会增加六个字节的开销 alter table t1 pctfree 0; alter table t2 pctfree 0; insert in…

工业机器人应用实践之玻璃涂胶(篇一)

工业机器人 工业机器人,即面向工业领域的机器人。工业机器人是广泛用于工业领域的多关节机械手或多自由度的机器装置,具有一定的自动性,可依靠自身的动力能源和控制能力实现各种工业加工制造功能。工业机器人被广泛应用于电子、物流、化工等…

nc生成临时凭证配置

nc生成临时凭证配置 要实现的功能: 审批时生成临时凭证弃审时删除临时凭证 前台配置 后台配置 BillReflectorServiceImpl.java package nc.pubimpl.jych.qtsq.voucher;import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; impo…

YOLOv5改进 | 注意力机制 | 用于移动端的高效坐标CA注意力机制

在深度学习目标检测领域,YOLOv5成为了备受关注的模型之一。本文给大家带来的是能用于移动端的高效坐标CA注意力机制。文章在介绍主要的原理后,将手把手教学如何进行模块的代码添加和修改,并将修改后的完整代码放在文章的最后,方便…

Python经典案例爬取豆瓣Top250电影数据

随着网络数据的日益丰富,如何从海量的信息中快速、准确地提取出有价值的数据,成为了许多开发者和技术爱好者关注的焦点。在这个过程中,网络爬虫技术凭借其强大的数据获取能力,成为了数据分析和挖掘的重要工具。本文将通过一个经典…

ECharts系列文章汇总(持续更新中)

ECharts介绍 ECharts是一款基于JavaScript的数据可视化图表库,提供了直观、生动、可交互、可个性化定制的数据可视化图表。以下是关于ECharts的详细介绍: 发展历程: ECharts最初由百度团队开源,并在2018年初捐赠给Apache基金会&…

Agisoft Metashape Pro for Mac/win:开启三维建模新视界

在当今数字化的时代,三维建模技术正发挥着越来越重要的作用。而 Agisoft Metashape Pro for Mac/win 无疑是该领域的一颗璀璨明星。 这款强大的三维建模软件为专业人士和爱好者提供了无与伦比的工具和功能。无论你是从事建筑设计、考古研究、影视特效制作还是地理信…

进程间通信(二)

共享内存 当进程A和进程B有一块共享的内存空间时,这两个进程之间的数据交互就会变的很简单,只需要像读取自己内存空间中的元素一样去读取数据即可。实现共享内存进行数据交互的一般步骤: 创建/打开共享内存内存映射数据交换断开与共享内存的…

[Markdown]是时候该学学使用markdown写文章了

💕💕💕欢迎各位来到我的博客,今天我们的主题是markdown,你将在这里学习到最全的markdown知识💕💕💕 你还在使用富文本编辑器写文档或文章吗? 你还在用word一点一点地进行…

LOTO示波器动作编程功能(命令批处理)

动作编程功能是为了方便客户根据自己的应用场景,做到一个按键就连续做多个示波器操作,从而降低了对操作人员的技术要求,做到傻瓜式操作。之前LOTO有个类似的功能,是把示波器的基础设置根据不同的测试场景存成不同的设置文件&#…

颍川诞生了两个帝王的仲父

伯、仲、叔、季是古代兄弟的长幼排行顺序,《释名释亲属》载:“父之弟曰仲父……仲父之弟曰叔父”。也就是古代称父亲的兄弟为仲父,多用于帝王对宰相重臣的尊称。 历史上最有名的、有正史记载的帝王“仲父”有两位,而且都出自颍川…