Animation 如何在“颤振”中长按时将大圆圈调整为小圆圈的动画?

Animation 如何在“颤振”中长按时将大圆圈调整为小圆圈的动画?,animation,resize,flutter,Animation,Resize,Flutter,我想用flatter设置一个大圆圈/图像的动画,并将其调整为一个小圆圈/图像 小圆圈的大小将直接调整到指针/我的手指上,并随着指针移动 我的第一反应是使用手势检测器的onlong press,但我不确定如何告诉圆调整其半径并使其跟随指针。你可以使用手势检测器。以下是一个示例(假设已定义currentHeight/currentWidth/circkeDiameter): 下面是一个例子: 如果拖动时不关心指针后面的小圆圈(即,您只想看到调整大小的动画),可以使用AnimatedCrossFade

我想用flatter设置一个大圆圈/图像的动画,并将其调整为一个小圆圈/图像

小圆圈的大小将直接调整到指针/我的手指上,并随着指针移动

我的第一反应是使用手势检测器的
onlong press
,但我不确定如何告诉圆调整其半径并使其跟随指针。

你可以使用手势检测器。以下是一个示例(假设已定义currentHeight/currentWidth/circkeDiameter):

下面是一个例子:

如果拖动时不关心指针后面的小圆圈(即,您只想看到调整大小的动画),可以使用AnimatedCrossFade小部件,其crossFadeState使用由GestureDetector的onLongPress设置的标志。例如,类似于:

bool didLongPress = false;
return new GestureDetector(
    onLongPress: setDidLongPressToTrue(),
    child: new AnimatedCrossFade(
      duration: someAnimationTime,
      firstChild: largeCircle,
      secondChild: smallCircle,
      crossFadeState: didLongPressed
          ? CrossFadeState.showFirst
          : CrossFadeState.showSecond,
    ),
);

欢迎来到StackOverflow!请注意,您应该已经研究过您的问题,并在发布之前尝试解决它。如果您有一个特定的问题,它应该包括您到目前为止尝试过的内容的详细信息以及一个文档中的相关代码。请阅读和
bool didLongPress = false;
return new GestureDetector(
    onLongPress: setDidLongPressToTrue(),
    child: new AnimatedCrossFade(
      duration: someAnimationTime,
      firstChild: largeCircle,
      secondChild: smallCircle,
      crossFadeState: didLongPressed
          ? CrossFadeState.showFirst
          : CrossFadeState.showSecond,
    ),
);