Flutter开发日常练习-小猫咪杂货店(新增动画和跳转抖音)

news2024/12/25 23:53:49

 

 之前的练习加了个详情页面,然后跳转第三方页面抖音用户详情页面

跳转详情页添加了Hero的动画,共享元素过度

一个 标准 hero 动画 使 hero 从一页飞至新页面,通常以不同大小到达不同的目的地。

设定好每个图片的id,通过id作为 'Hero' 组件的标识,id不能重,否则会报错,在这两个页面中必须相同

Hero(
    tag: "$id",
    child: Image.asset(
        imagePath,
        height: 64,
    ),
),

在跳转的页面也要加入id

Hero(
    tag: "$id",
    child: Image.asset(
    "assets/8b10de68e58cfef6bd5f22e5321537.jpg",
    width: 200,
    height: 200,
    fit: BoxFit.cover,
    ),
),

Flutter开发日常练习-小猫咪杂货店icon-default.png?t=N3I4https://blog.csdn.net/zxc8890304/article/details/130150733?spm=1001.2014.3001.5501

白名单

<array>

<string>douyinopensdk</string>

<string>douyinsharesdk</string>

<string>snssdk1128</string>

</array>

url_launcher: ^6.0.10

URL Launcher是一个Flutter插件,它允许您的应用程序启动网络浏览器、地图应用程序、拨号器应用程序、邮件应用程序等。URL Launcher插件通过创建意图来打开使用不同URL方案的应用程序。

  _launchURL() async {
    // 1.url Scheme
    // const url = 'snssdk1128:';
    const url = 'snssdk1128://user/profile/xxxxxx';//替换你自己的id
    
    // 2. 判断当前手机是否安装某app. 能否正常跳转
    if (await canLaunch(url)) {
      // 2.1 正常跳转
      await launch(url);
    } else {
      // 2.2 不能跳转
      throw 'Could not launch $url';
    }
  }

 给列表上的文字加了个缩放的提示动画,感觉很有意思,也有别的效果可以自己试一下

animated_text_kit: ^4.2.2

ScaleAnimatedTextKit(
    totalRepeatCount: 99999,
    text: contextList,
    textStyle:
        TextStyle(fontSize: 24.0, fontWeight: FontWeight.bold),
                  textAlign: TextAlign.start,
                  // alignment:AlignmentDirectional.topStart // or                     Alignment.topLeft
                ),

flutter_staggered_animations: ^1.1.1 

 列表也都加上了动画效果

 AnimationConfiguration.staggeredGrid(
                            position: index,
                            columnCount: value.shopItems.length,
                            duration: const Duration(milliseconds: 375),
                            child: SlideAnimation(
                              verticalOffset: 50.0,
                              child: FadeInAnimation(
                                child: GroceryItemTile(
                                  itemName: value.shopItems[index].name,
                                  itemPrice: value.shopItems[index].price,
                                  imagePath: value.shopItems[index].pic,
                                  color: value.shopItems[index].color,
                                  id: value.shopItems[index].id,
                                  contextList: value.shopItems[index].desList,
                                  onPressed: () {
                                    Provider.of<CarModel>(context,
                                            listen: false)
                                        .addItemToCart(index);
                                  },
                                ),
                              ),
                            ),
                          );
                        }),
                  );

添加了点赞按钮的效果,看了下代码写的很完善,拓展很宽,你也可以按照自己的想法去修改 

like_button: ^2.0.5

 LikeButton(
    mainAxisAlignment: MainAxisAlignment.end,
    ),

这个联系要改一下,有些不足的地方,因为不会后端,所以数据写在本地

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

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

相关文章

DHCP笔记

目录 DHCP动态主机配置协议——UDP67/68端口 DHCP获取IP地址 客户端首次获取IP地址 客户端再次获取IP地址 租期/续租 DHCP的工作报文 DHCP的配置 案例 DHCP动态主机配置协议——UDP67/68端口 DHCP是应用层协议&#xff0c;采用C/S服务模式&#xff0c;只能在一个广播域…

TortoiseSVN使用-授权访问

文章目录 3.4.6 授权访问 3.4.6 授权访问 总结&#xff1a; 如果是匿名访问&#xff08;就是不用输入用户名密码的访问方式&#xff09;&#xff0c;请只开启anon-access write如果授权访问&#xff0c;请先设置anon-access none&#xff0c;然后打开3个&#xff1a;auth-a…

C++ “类与对象”

类与对象的概念 类相当于是结构体的声明&#xff0c;是结构体的设计图&#xff0c;而对象是利用设计图的创造的产物. &#xff08;1&#xff09;.类的大小计算 类的大小计算时与结构体类似&#xff0c;但函数是不计入大小的&#xff08;函数放在单独的公共空间&#xff09;. 在…

贝叶斯学习(Bayesian Learning)提高篇

Advanced Bayesian Learning 前言Review Bayes Optimal ClassifierNaive Bayes Classifier这里其实不太懂ExampleLaplace smoothing加完之后原数据的比例会发生变化分子1&#xff0c;如何确定分母的加数 Naive Bayes for Document Classi cationProblem statementDocument repr…

C语言猜数字小游戏

今天&#xff0c;我们来写一个猜数字小游戏&#xff0c;这个游戏的大致规则如下&#xff1a;&#x1f447; 1.电脑会随机生成一个数1~100 2.猜数字 a> 猜大了&#xff0c;提醒猜大了&#xff0c;继续猜 b> 猜小了&#xff0c;提醒猜小了&#xff0c;继续彩 c> 猜对了&…

Windows下版本控制器(SVN)-启动服务器端程序

文章目录 3.3 启动服务器端程序 3.3 启动服务器端程序 ①SVN 服务器必须处于运行状态才能响应客户端请求&#xff0c;帮助我们管理项目文件。 所以我们必须将 SVN 服务器启动起来。启动 SVN 服务器有两种方法&#xff0c;一个是命令 行方式&#xff0c;一个是注册 Windows 服务…

基于容器平台 ACK 快速搭建 Stable Diffusion

作者&#xff1a;子白 本文介绍如何在阿里云容器平台 ACK 上快速搭建一套可对外提供服务的 Stable Diffusion。 CPU 版本 前提条件 已创建 Kubernetes 托管版集群。具体操作&#xff0c;请参见创建 Kubernetes 托管版集群[1]。 &#x1f4cd;无需 GPU&#xff0c;节点需要…

数据库系统概论--第三章课后习题

1.试述SQL的特点。 答:SQL有以下特点: ①综合统一:SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。在关系模型中实体和实体间的联系均用关系表示,这种数据结构的单一性带来了数据操作符的统一性,查找、插入、删除、更新等每一种操作都只需一种操作…

NestJS(1)初识 NestJS 和 Hello, World

初识 NestJS 先来看下官网对 NestJS 的介绍。 Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用程序的开发框架。它利用 JavaScript 的渐进增强的能力&#xff0c;使用并完全支持 TypeScript &#xff08;仍然允许开发者使用纯 JavaScript 进行开发&#xff…

YARN On Mapreduce搭建与wordCount案例实现

文章目录 1.前言1.YARN 集群搭建1.1 ResourceManager High Availability 架构图1.2 配置文件mapred-site.xmlyarn-site.xml 1.3 启动服务和rm启动yarn启动rm资源管理访问页面查看集群状态 2.运行官方的WC案例2.1 运行jar准备一个data.txt文件日志查看输出 1.前言 YARN的基本思…

JVM原理

JVM 什么是JVM&#xff1f; JVM是一种虚拟出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 JVM有自己完善的硬件架构&#xff0c;如处理器、堆栈、寄存器等&#xff0c;还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。 使用J…

Nginx之rewrite与location重写功能

一、常用的Nginx 正则表达式 字符涵义以及示例^匹配输入字符串的起始位置$匹配输入字符串的结束位置*匹配前面的字符零次或多次&#xff1b;如“ol*”能匹配“o”及“ol”、“oll”匹配前面的字符一次或多次&#xff1b;如“ol”能匹配“ol”及“oll”、“olll”&#xff0c;但…

GoJS Beginner Tutorial #1

1.关系图&#xff1a; gojs部件由一个或多个gojs面板组成&#xff0c;这些面板包含和组织各种gojs图形对象 通常使用go.GraphObject.make创建一个GraphObject&#xff0c;我们通过使用$符号变量缩短了该函数的名称 这个函数的第一个参数&#xff0c;往往是你想要制作的GraphOb…

Sentinel同时配置fallback和blockHandler的问题

Spring Cloud在使用Sentinel进行服务降级和熔断时&#xff0c;如果同时配置了fallback和blockHandler&#xff0c;则在服务熔断后&#xff0c;抛出的BlockException不会再fallback逻辑中执行&#xff0c;而是在blockHandler逻辑中执行。 首先来看只配置了fallback的情况&#x…

Python文件管理【open和with open的使用】

一、文件的操作步骤 基本都是三个步骤&#xff1a; 打开文件、读写文件、关闭文件 1.open()函数 在python&#xff0c;使用open函数&#xff0c;可以打开一个已经存在的文件&#xff0c;或者创建一个新的文件&#xff0c;语法如下&#xff1a; open(name,mode) name&#xff…

LeafLet加载自定义Legend的设计与实现

背景 众所周知&#xff0c;在GIS的世界里&#xff0c;图例和地图永远是一对一起出现的对象。在地图上表示地理环境各要素&#xff0c;比如山脉、河流、城市、铁路等所用的符号叫做图例。这些符号所表示的意义&#xff0c;常注明在地图的边角上。图例是表达地图内容的基本形式和…

引用与指针:在C++中如何做出正确的选择?

文章目录 前言1. 引用入门2. 引用作为函数传参3. 引用作为函数返回值4. 引用和指针5. 其他区别 前言 引用是 C 的新增内容&#xff0c;在实际开发中会经常使用&#xff0c;它就如同C语言的指针一样重要&#xff0c;但它比指针更加方便和易用&#xff0c;有时候甚至是不可或缺的…

使用YOLOV5-6.2预训练模型(yolov5s)进行detect的详细说明(detect.py)文件解析

目录 准备源文件和预训练文件下载python版本以及torch版本说明&#xff1a;文件目录说明测试文件 detect.py使用测试单张图片测试一个文件夹里的图片 准备 源文件和预训练文件下载 下载链接&#xff1a;https://github.com/ultralytics/yolov5/releases/tag/v6.2 源文件和预训…

数据科学与机器学习在软件开发中的应用

数据科学和机器学习是现代软件开发的重要组成部分&#xff0c;可以帮助开发人员更好地理解和分析数据&#xff0c;从而提高软件的质量和性能。在本篇博客中&#xff0c;我将深入探讨数据科学和机器学习在软件开发中的应用&#xff0c;并讨论它们如何帮助我们创建更好的软件。 …

你最想知道的APP自动化测试项目实战详解

目录 一、引言 二、APP自动化测试的基本概念 三、APP自动化测试的流程 四、APP自动化测试的最佳实践 五、常见的APP自动化测试工具 六、APP自动化测试的挑战和解决方案 七、结论 一、引言 随着移动设备的普及和应用市场的繁荣&#xff0c;越来越多的企业开始开发和发布移…