首页 > 其他分享 >Get包的中snackbar

Get包的中snackbar

时间:2024-09-10 22:52:31浏览次数:12  
标签:控制 显示 Get snackbar 使用 SnackBar 方法 属性

文章目录


我们在上一章回中介绍了"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"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

标签:控制,显示,Get,snackbar,使用,SnackBar,方法,属性
From: https://blog.csdn.net/talk_8/article/details/142111075

相关文章

  • 【Azure Service Bus】创建 ServiceBus 的Terraform脚本报错GetAuthorizationRule: In
    问题描述在使用Terraform部署ServiceBus时候,遇见了如下报错:Error:ErrormakingReadrequestonAzureServiceBusTopicAuthorizationRule:servicebus.TopicsClient#GetAuthorizationRule:Invalidinput:autorest/validation:validationfailed:parameter=authorization......
  • 【Azure Service Bus】创建 ServiceBus 的Terraform脚本报错GetAuthorizationRule: In
    问题描述在使用Terraform部署ServiceBus时候,遇见了如下报错:Error:ErrormakingReadrequestonAzureServiceBusTopicAuthorizationRule:servicebus.TopicsClient#GetAuthorizationRule:Invalidinput:autorest/validation:validationfailed:parameter=authorizat......
  • docker Get "https://registry-1.docker.io/v2/": x509: certificate is valid for
    前言docker在进行build时,报错:Get"https://registry-1.docker.io/v2/":x509:certificateisvalidfor问题原因:Docker客户端无法验证DockerHub服务器的SSL/TLS证书解决在/etc/docker/daemon.json中新增国内镜像源:"registry-mirrors":["https:/......
  • Flutter provider和 getx 区别
    前沿Provider和GetX是Flutter社区中常用的两种状态管理解决方案。它们各自有不同的特点和使用场景,下面是它们的区别和示例,以便更好地理解和选择适合的状态管理方法。示例:Provider和GetX的使用1.使用Provider的示例假设我们有一个简单的计数器应用,点击按钮时计数......
  • shell 请求http get api,获取返回值
    在Shell脚本中,你可以使用curl或wget来发送HTTPGET请求并获取返回值。以下是使用curl的示例:#!/bin/bash#APIURL无参数时:URL="http://example.com/api/data"#APIURL有参数时:id=119URL="http://example.com/api/data?id="+${id}#发送GET请求并存储响应response=$(cu......
  • Centos7 故障排除_a tpm error occurred get tpm pcr allocation
    误操作/实验故意破坏系统重要文件,如何修复系统;系统起来不时使用光盘引导,启动系统故障排除模式1)光盘引导系统启动2)选择故障排除3)救援系统4)5)6)注意:此模式下原本系统的根下的目录均被挂载至/mnt/sysimage/目录下示例1:删除许多命令依赖的共享库文件ldd-可查......
  • target down的情况如何进行故障排除
    当Prometheus监控的目标(target)出现down的情况时,需要进行系统性的故障排除。以下是一些常见步骤和方法:1.检查Prometheus配置确认配置文件:检查prometheus.yml文件中的配置,确保目标的地址、端口和路径正确。正确的scrape_interval:确认scrape_interval配置没有过长,导......
  • Prometheus operator怎么添加targets和告警规则
    使用PrometheusOperator来管理Prometheus实例、添加targets和告警规则是一个相对简单的过程。以下是如何通过PrometheusOperator添加targets和告警规则的详细步骤。1.安装PrometheusOperator如果尚未安装PrometheusOperator,可以通过Helm或Kubernetes清单文......
  • OpenAI Gym ProcGen - Getting Action Meanings
    题意:OpenAIGymProcGen-获取动作含义问题背景:IntheOpenAIProcGengym,Iamnotgettingaway togetthemeaningsoftheactionvalues,Icanseethatthereare15actionsforthecoinrunenvironmentusing env.action_space.n.IhavetriedboththeG......
  • BAN 501 Marketing Campaign Budget Allocator
    BAN501Module1ProjectAProjectNameMarketingCampaignBudgetAllocatorProjectDueDateSundayby11:59pmObjectivesPracticeworkingwithvariables,datatypes,andoperators.Implementconditionalstatementsandloopstomakedecisionsandre......