当前位置: 首页 > news >正文

做暧暖爱视频网站永久免费建站系统

做暧暖爱视频网站,永久免费建站系统,网站建设上传文件,个人网站开发需求分析效果 实现 图片资源采用boss包中的动画webp资源。Flutter采用Image加载webp动画。 遇到的问题 问题:Flutter加载webp再次加载无法再次播放动画问题 看如下代码: Image.asset(assets/images/xxx.webp,width: 40.w,height: 30.w, )运行的效果&#xf…

效果

实现

  • 图片资源采用boss包中的动画webp资源。
  • Flutter采用Image加载webp动画。

遇到的问题

问题:Flutter加载webp再次加载无法再次播放动画问题

看如下代码:

Image.asset('assets/images/xxx.webp',width: 40.w,height: 30.w,
)

运行的效果:

直接采用上面代码加载webp动画图片的时候,发现首次加载是没有问题的,当切换其他tab再次切换回来的时候,虽然我重新setState了,但是图片不会重新动画加载出来。开始觉得很奇怪,Image都重新创建了,为啥动画不重新执行呢?心想难道有缓存,想当然就给Image定义了key,每次点击按钮给Image设置不同的key,运行发现还是不行,到这一步只好谷歌大法了,看到了很多人遇到这个问题,但是没有给出解决的答案,看来只能源码大法了。

源码走起~~这里省略…

然后发现Image中有内存缓存ImageCache,翻看了源码后发现了解决方案,因为这里我不需要内存缓存,而且这个缓存与Image中的bundle有关系,只要每次创建Image设置不同的bundle就OK了,所以我就把代码尝试修改了下。

Image.asset('assets/images/xxx.webp',bundle: PlatformAssetBundle(),width: 40.w,height: 30.w,
)

再运行下效果:

完整源码

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_project/res/colors/color_res.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';/// BottomBarItem
class BottomBarItem extends StatefulWidget {// Tab 名字final String tabName;// Tab 图标final String tabIcon;// Tab 选中图标final String tabSelectedIcon;// 默认颜色final Color tabTextColor;// 选中颜色final Color tabTextSelectedColor;// Tab对应索引final int tabIndex;// 点击回调final Function(int) onTap;// 是否选中final bool isChecked;// 角标final int badger;const BottomBarItem({Key? key,required this.tabName,required this.tabIcon,required this.tabSelectedIcon,required this.onTap,required this.tabIndex,this.tabTextColor = Colors.grey,this.tabTextSelectedColor = RC.themeColor,this.isChecked = false,this.badger = 0,}) : super(key: key);@overrideState<BottomBarItem> createState() => _BottomBarItemState();
}class _BottomBarItemState extends State<BottomBarItem> {@overrideWidget build(BuildContext context) {return InkWell(child: Stack(children: [Positioned(child: Container(alignment: Alignment.center,child: Column(crossAxisAlignment: CrossAxisAlignment.center,mainAxisAlignment: MainAxisAlignment.start,children: [widget.isChecked? Image.asset(widget.tabSelectedIcon,bundle: PlatformAssetBundle(),width: 40.w,height: 30.w,): Image.asset(widget.tabIcon,width: 40.w,height: 30.w,),Text(widget.tabName,style: TextStyle(color: widget.isChecked? widget.tabTextSelectedColor: widget.tabTextColor,fontSize: 10.sp,),),],),),),Visibility(visible: widget.badger > 0,child: Positioned(right: 30.w,top: 10.w,child: ClipOval(child: Container(alignment: Alignment.center,color: Colors.red,width: 8,height: 8,),),),)],),onTap: () {widget.onTap(widget.tabIndex);setState(() {});},);}
}

具体详情:github.com/yixiaolunhui/flutter_project

http://www.tj-hxxt.cn/news/6095.html

相关文章:

  • 做美容网站seo规范培训
  • silverlight 做的网站网站搜索优化价格
  • 如何为一个网站做app怎么制作一个自己的网站
  • 邯郸网站建设联系电话百度手机下载安装
  • 投票网站如何做百度浏览器官网在线使用
  • 合肥 网站建设西安seo公司
  • 赤壁网站开发seo网站营销推广公司
  • 怎么低成本做网站国内好用的搜索引擎
  • 网站建设费应计入什么科目苏州整站优化
  • 加快门户网站建设企业内训课程
  • 网络科技公司企业文化搜索关键词优化服务
  • 设计常用网站个人信息怎么在百度推广
  • 南宁网站建设外包全网营销图片
  • 商机互联公司做网站怎么样什么是seo关键词
  • 高端网站定制策划个人主页网页设计
  • 科技网站建设清远疫情防控措施
  • 做网站行业怎么样今日nba数据帝
  • 网站语言有几种搜资源
  • 建手机网站款软件seo快速排名优化方式
  • wordpress主题08影视seo是什么岗位
  • 久久建筑网会员每日登录怎么优化关键词
  • 网站建设服务哪家好站长工具传媒
  • 做网站只用php不用html营销策划公司主要做些什么
  • 如何做盗版小说网站湖南seo排名
  • asp网站怎么做百度指数平台官网
  • 网络工程师和做网站哪个难搜索引擎优化是什么?
  • 天津百度做网站多少钱google play谷歌商店
  • 东城区住房和建设委员会网站他达那非片能延时多久
  • 本地网站可以做吗怎么在百度上做网站
  • 网站建设百强企业软文代写多少钱一篇