【发布时间】:2021-03-14 12:49:27
【问题描述】:
我试图在我的应用程序中的图标被点击时制作动画。我实现了我想要的简单动画,但是在我进入那个屏幕后它总是会动画一次。我希望每次点击IconButton 时它都应该有动画效果,它应该顺时针旋转 2 秒,再次按下时,逆时针旋转 2 秒。请帮帮我
这是代码的一部分-
.......
AnimationController _controller;
Animation<double> _animation;
@override
void initState() {
// TODO: implement initState
super.initState();
_cameraController = CameraController(cameras[0], ResolutionPreset.medium, imageFormatGroup: ImageFormatGroup.jpeg);
cameraValue = _cameraController.initialize();
_fetchAssets();
_controller = AnimationController(
duration: const Duration(seconds: 2),
vsync: this,
value: 025,
lowerBound: 0.0,
upperBound: 1.0,
)..repeat();
_animation = CurvedAnimation(parent: _controller, curve: Curves.linear);
_controller.forward();
}
.......
RotationTransition(
turns: _animation,
child: IconButton(
icon: Icon(
Icons.flip_camera_ios,
color: Colors.white,
size: MediaQuery.of(context).size.width*0.07,
),
onPressed: () async {
setState(() {
if(cameraPosition=="Rear") {
cameraPosition="Front";
}
else if(cameraPosition=="Front"){
cameraPosition="Rear";
}
});
_cameraController = CameraController(
cameras[
cameraPosition=="Rear" ? 0
: 1
],
ResolutionPreset.medium,
);
},
),
),
........
【问题讨论】:
标签: android ios flutter dart animation