在按钮按下时颤动旋转图标并带有动画

Posted

技术标签:

【中文标题】在按钮按下时颤动旋转图标并带有动画【英文标题】:Flutter rotate icon on button press with animation 【发布时间】:2021-07-10 08:18:50 【问题描述】:

我有一个button,里面有一个icon。现在我正在使用两个不同的icons 并更改它们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),
              ),
  ),
);

这是有效的,但我想要一个RotationTransition。如何旋转我的 icon onTap 动画,这样我就不需要两个不同的 SVG?

【问题讨论】:

【参考方案1】:

使用RotatedBox 小部件并在您的setState 中更改其旋转

你可以这样做

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

如果您也想将动画应用于旋转,请考虑查看this

【讨论】:

谢谢!我想我不是很清楚。我想为它制作动画 您是否检查过提供的链接.. 如果有帮助,请投票;)

以上是关于在按钮按下时颤动旋转图标并带有动画的主要内容,如果未能解决你的问题,请参考以下文章

在悬停并按下时更改 QPushButton 图标

在按钮按下颤动时开始滑入动画

如何在按钮按下时通过动画进行文本转换?

如何将抽屉连接到颤动的动画图标按钮?

如何在颤动中显示带有动画的自定义对话框?

当 UIAlertController 在按钮按下时被关闭时收到通知