我正在尝试在 Flutter 上重新启动动画 gif。gif 图像从网络加载没有问题,加载后动画。我需要在点击按钮时重新启动动画。
到目前为止尝试过: - setState - 将 Key 更改为其他一些唯一键并 setState 进行重建。
解决方案作为@chemamolins 的建议:
int _robotReloadCount=0;
Run Code Online (Sandbox Code Playgroud)
....
GestureDetector(
onTap: () {
onTapRobot();
},
child: Center(
child: Container(
margin: EdgeInsets.only(top: 55.0, bottom: 5.0),
height: 150.0,
width: 150.0,
child:
FadeInImage(
key: this._robotImageKey,
placeholder: AssetImage('assets/common/robot_placeholder.png'),
image: NetworkImage(snapshot.data['robot_image_path'] +"robot_level" +snapshot.data['robot_level'].toString() +".gif"+"?"+this._robotReloadCount.toString()))),
),
),
Run Code Online (Sandbox Code Playgroud)
....
onTapRobot() async{
setState(() {
this._robotReloadCount++;
});
}
Run Code Online (Sandbox Code Playgroud)