Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 按钮按下时的颤振旋转图标带有动画_Flutter_Dart_Animation_Button_Transform - Fatal编程技术网

Flutter 按钮按下时的颤振旋转图标带有动画

Flutter 按钮按下时的颤振旋转图标带有动画,flutter,dart,animation,button,transform,Flutter,Dart,Animation,Button,Transform,我有一个按钮,里面有一个图标。现在我正在使用两个不同的图标,并将它们更改为onTap: Widget build(BuildContext context) { return GestureDetector( onTap: () { setState(() { _isDropdownOpened = !_isDropdownOpened; } ... }, child: _isDropdownOpened

我有一个
按钮
,里面有一个
图标
。现在我正在使用两个不同的
图标
,并将它们更改为
onTap

Widget build(BuildContext context) {
return GestureDetector(
  onTap: () {
    setState(() {
        _isDropdownOpened = !_isDropdownOpened;
      }
  ...
  },
  child: 
        _isDropdownOpened
            ? SvgPicture.asset(
                'images/icons/arrow_down_primary.svg',
                width: scaleWidth(12),
              )
            : SvgPicture.asset(
                'images/icons/arrow_up_primary.svg',
                width: scaleWidth(12),
              ),
  ),
);

这是工作,但我想有一个
旋转过渡
。如何通过动画旋转我的
图标
onTap
,这样我就不需要两个不同的SVG了?

使用
旋转框
小部件,并在
设置状态

你可以这样做

 child: RotatedBox(
  quarterTurns: _isDropdownOpened? 2:0,
  child: SvgPicture.asset(
            'images/icons/arrow_down_primary.svg',
            width: scaleWidth(12),
          ),
) 

如果你想把动画应用到旋转,也要考虑到

谢谢!我想我不是很清楚。我想有一个它的动画你检查了提供的链接。。如果有帮助,请投赞成票;)