我想在用户点击屏幕时显示一些动画。动画也必须是可控的,因为每次点击后都需要将其重置。
我尝试过的方法: 1.在叠加层中显示Gif图片。
RenderBox renderBox = context.findRenderObject();
var size = renderBox.size;
var offset = renderBox.localToGlobal(Offset.zero);
_myGif = Image.asset('images/mygif.gif', width: 100, height: 100,);
return OverlayEntry(
builder: (context) => Positioned(
left: offset.dx - 50.0 + size.width/2,
top: offset.dy - 50.0 + size.height/2,
child: Container(
child: _myGif
),
)
);
问题:Gif动画不可控。动画似乎也从随机帧开始播放,每次都以随机帧结束。
使用第三方小部件(gif_ani)
_animationCtrl = GifController(vsync:this,duration:new Duration(毫秒:1000),frameCount:38); _mygifAnimation = GifAnimation( 宽度:100.0, 高度:100.0, 图片:AssetImage('images / mygif.gif'), 控制器:_animationCtrl, );
问题:仅当它不在叠加层上时,它才起作用。将GifAnimation作为子级添加到“叠加层”中时,它根本不会显示。
对此有什么解决方案吗?预先谢谢你。