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

news/2024/7/20 20:04:23 标签: flutter, android, ios, 动画, Hero

 

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

跳转详情页添加了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.niftyadmin.cn/n/255503.html

相关文章

设计模式——组件协作模式之模板方法模式

文章目录 前言一、“组件协作” 模式二、模板方法模式1、动机2、源码分析讲解①、结构化软件设计②、面向对象软件设计 三、模板方法模式定义四、结构要点总结 前言 一、“组件协作” 模式 现代软件专业分工之后的第一个结果是 “框架与应用程序的划分”&#xff0c;“组件协作…

计算机考研408真题2011年42题

题目来源&#xff1a; 计算机考研408真题2011年42题 题目描述&#xff1a; 描述: 42.&#xff08;15分&#xff09;一个长度为L&#xff08;L≥1&#xff09;的升序序列S.处在第「L/2]个位置的数称为S的中位数。例如&#xff0c;若序列S&#xff08;11,13&#xff0c;15&…

Qt中配置文件的使用

Qt中配置文件的使用 在应用程序中&#xff0c;使用配置文件是一件很常见的需求。Qt中常见的配置文件是INI&#xff08;.ini&#xff09;文件。在Qt中如何读取配置文件中的数据呢&#xff1f;又是如何将数据写入到配置文件中呢&#xff1f; 首先我们来了解一下配置文件的格式。…

HuggingFace入门教程--环境搭建

HuggingFace中文直译为”拥抱脸“&#xff0c;是最近非常火爆的一个人工智能社区&#xff0c;官网地址是&#xff1a;https://huggingface.co/ .关于HuggingFace的相关介绍大家可以自行百度。本文主要为刚入人工智能坑的小白指下路&#xff0c;同时也是逼着自己记录下学习过程中…

TortoiseSVN使用-合并分支代码

文章目录 3.4.12 合并分支代码TortoiseSVN有2种合并方式演示场景1&#xff1a;&#xff08;合并一个版本范围 Merge a range of revisions&#xff09;演示场景2&#xff1a;&#xff08;合并两个不同的树 Merge two different trees&#xff09;&#xff0c;不设置主分支版本演…

初窥Edubuntu 23.04:装有教育软件的Ubuntu桌面

导读4月20日&#xff0c;Edubuntu将作为Ubuntu官方口味卷土重来&#xff0c;作为即将发布的Ubuntu 23.04&#xff08;Lunar Lobster&#xff09;的一部分&#xff0c;所以我认为让你们先看看这个重制版中包含的内容是个好主意。 Edubuntu以前被称为Ubuntu教育版&#xff0c;最…

C++ “类与对象”

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

JavaEE-一文了解IP协议与IP地址

目录 IP协议什么是IP地址IP地址的组成动态分配IPNAT机制(网络地址转换) IP协议 IP协议是不可靠、无连接的 不可靠:表示IP协议不能保证IP数据报能成功的到达目的地。IP仅提供传输服务&#xff0c;任何可靠性的要求都必须由上层来提供&#xff08;如TCP&#xff09;。如果传输过…