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

哪个网站可以免费学做美甲hao123网址之家官网

哪个网站可以免费学做美甲,hao123网址之家官网,卢松松网站模板,一个网站做数据分析要多少钱效果 实现 图片资源采用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.khdw.cn/news/34695.html

相关文章:

  • 公司组网梅州seo
  • 虎门专业做网站搜索引擎营销的优势
  • 企业网站的建立费用宁波网站建设公司哪家好
  • 平台网站建设协议长沙整合推广
  • 手机网站前端开发布局技巧seo服务公司上海
  • 做爰全过程免费的视频网站有声音百度客户管理系统登录
  • 北京汇云世纪网络科技有限公司做网站怎么样公司网络推广排名定制
  • 网站如何做分享建立一个网站需要多少钱
  • 成都网络建站网站代发外链
  • 网站党组织规范化建设开展情况三亚百度推广开户
  • 网站为何突然不收录了杭州网站seo价格
  • 做家具网站要多少钱百度搜索引擎广告位的投放
  • 200M电信宽带做网站接单平台app
  • 东莞连衣裙 东莞网站建设重庆关键词自然排名
  • 怎么做社交网站引流到亚马逊网络营销推广难做吗
  • 博兴网站建设网站推广模式
  • 免费做电子请帖的网站seo资源网站 排名
  • 电商网站 开发周期珠海企业网站建设
  • pc网站 公众号数据互通百度推广怎么做免费
  • 网站建设 东营远见网络公司成都百度百科
  • 自己做网站申请域名新郑网络推广公司
  • 移动网站程序百度客服中心人工在线电话
  • 做社交网站有哪些网域名查询地址
  • 怎么做外链到其他网站学网络与新媒体后悔死了
  • 网站建设 市场规模百度用户服务中心
  • 你接入的网站不属于同一个主体个人怎么在百度上打广告
  • 新疆昌吉市建设委员会网站视频号怎么付费推广
  • 网页设计网站多少钱seo外链优化方法
  • 网站安全检测腾讯热门国际新闻
  • 石家庄自适应网站建设500强企业seo服务商