我想使用Flutter为大圆圈/图像设置动画,使其缩小为小圆圈/图像。

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

我的第一个直觉是使用GestureDetector的onLongPress但是我不确定如何告诉圆调整半径并使其跟随指针。

#1楼 票数:2 已采纳

您可以使用LongPressDraggable小部件 这是一个示例(假设已经定义了currentHeight / currentWidth / circkeDiameter):

import 'dart:ui' show lerpDouble;
Animation animation = new AnimationController();
new AnimatedBuilder(
 controller: animation,
 child: new Container(),
 builder: (_, Widget child) {
   return new Container(
     width: lerpDouble(currentWidth, circleDiameter, animation.value),
     height: lerpDouble(currentHeight, circleDiameter, animation.value),
     child: new ClipRRect(
       borderRadius: new BorderRadius.circular(
         (circleDiameter / 2.0) * animation.value,
       ),
       child: child,
     ),
   );
 });

这是一个例子: https : //github.com/fuchsia-mirror/modules-video/blob/master/modules/video/lib/src/widgets/screen.dart#L87

如果您不在乎拖动时指针后面的小圆圈(即,您只想查看调整大小的动画),则可以使用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,
    ),
);

  ask by Mary translate from so

未解决问题?本站智能推荐:

1回复

如何调整libgdx中的动画大小?

我想绘制一个动画,每个帧的大小为500x500px,但是当我尝试调整大小时,动画似乎会旋转... 这里是加载框架和创建动画的代码: Texture fireSheet = new Texture(Gdx.files.internal(“ fire_sheet.png”));; 在dr
2回复

AndroidStudio:扩大和缩小圆圈动画

我正在尝试在 android studio 中创建一个可以扩展和收缩的圆圈。 我只想使用一个 Java 类和一个布局 xml 文件。 关于如何做到这一点的任何建议?
2回复

动画图像上的缩小圆圈

我有一个 WPF 应用程序,窗口中有一个图像。 当某个事件被触发时,我想通过动画一个圆圈来吸引用户的注意力到图像上的一个点上,这个圆圈在感兴趣的点上缩小到没有。 实际上,我希望这个动画重复 3 次,以确保用户看到缩小的圆圈并且他的眼睛被吸引到兴趣点。 您如何建议我在 WPF 中执行此操作?
1回复

如何在Windows上为DelphiVCL表单的调整大小设置动画?

是否有任何相当简单和健壮的方法可以在 Windows 上平滑地为 Delphi VCL 表单的编程调整大小设置动画? 例如,当用户单击“显示详细信息”按钮时,表单的高度会随着显示在新客户区中的详细信息面板而增加。 通过设置其Height (或ClientHeight )属性来调整窗体的大小将立即调整
2回复

如何在不影响按钮边框的情况下为按钮的大小设置动画?

在iOS7上,我需要生成一个按钮动画,该按钮横向增加(仅在一侧)。 为了实现此效果,我尝试了缩放和平移的组合,但是问题是缩放也会影响边框的大小,这不是我想要的。 在此示例中,将按钮的长度加倍后,侧边框的宽度也加倍: 我想知道是否有一个聪明的解决方案可以在不使用CGAffine转换的情况
1回复

设置动画大小并继续移动组和组的子级

我有一个内部有图像和标签控件的Spark Group。 <s:Group><mx:Image source="..."/><s:Label text="Hello!"/></s:Group> 图像是气泡的图像。 我想使它的效果从右下角扩大
2回复

使用精灵表调整动画师中的大小问题-unity2d

我有一个要调整大小的角色。 为了保持一致性,我将默认的空闲动画精灵放在精灵表中较大的精灵旁边。 当我在动画窗口中放入较大的精灵(与默认的、正常大小的动画分开的动画)时,我的角色被冻结在空中并且无法接触地面。 对撞机是为较大的精灵编辑的,所以我知道这不是卡在地上的盒子对撞机。 我什至没有直接在动画窗口
1回复

如何将小圆圈均匀地对齐成一个大圆圈?

我已经制作了一个大的圆形容器,现在我想将不同的小圆形容器同样地对齐。 我怎么能做到这一点而不一直调整位置? 有没有更好的方法,即使我改变小圆圈的大小,位置也保持不变? 这是一段代码: