当前位置: 首页 > 知识库问答 >
问题:

用AnimatorSet还原动画

范文昌
2023-03-14

我正在使用<code>AnimatorSet

代码如下:

mLastAnimation = new AnimatorSet();
mLastAnimation.playTogether(
  ObjectAnimator.ofFloat(mImageView, "scaleX", 1.5f, 1f),
  ObjectAnimator.ofFloat(mImageView, "translationY", 40f, 0f));
mLastAnimation.setDuration(3000);
mLastAnimation.addListener(this);
mLastAnimation.start();

// The Activity implements the AnimatorListener interface
  @Override
  public void onAnimationEnd(Animator animator) {
    // Undo the animation changes to the view.
  }

编辑:

我正在使用新的动画API,所以< code > setfillfafter()在这里无法工作。

共有3个答案

汤乐家
2023-03-14

使用< code>ObjectAnimator时,您可以简单地设置

android:repeatMode="reverse"
公冶伟
2023-03-14

您必须将< code >视图的属性设置回其原始值。

例如,如果您向前平移Y 40像素,则需要向后平移Y 40像素。这是因为View的实际属性在属性动画期间发生了变化,而不仅仅是呈现方式。

http://developer.android.com/guide/topics/graphics/prop-animation.html#property-vs-view

李宁
2023-03-14

如果您使用的是nineoldandroids,则有一个名为reverse的函数。您可以将持续时间设置为 0,并调用反向以反转动画。

 类似资料:
  • 官方缩放视图教程使用缩放到。它会随着视图的扩展而产生向下移动的错觉。稍后,只需向后重播即可产生缩小的错觉。 以下是我目前为止尝试过的。我的XML布局是 这是执行缩小操作的方法。我基本上试着颠倒了教程中的过程: 我在中调用此方法,如下所示: 好了,就是这样,伙计们。它不起作用。我不知道为什么。演示示例运行完美,那么为什么这个不起作用呢?看看,告诉我我是否疯了。 有人能识别错误吗?或者给我指出正确的方

  • 我已经试了好几个小时了,我觉得是时候放弃了。如何循环XML中定义的AnimatorSet? 我在单个上尝试了、和的几十种组合,但这不是正确的方法。 但它就是不起作用:被调用一次,动画被重复,然后就不再被调用了。 这里的其他类似问题涉及错误答案(指框架),或者建议为单个定义自定义插值器,但这并不是我真正要找的。谢谢你。

  • “还原”功能会先删除数据库已选择的对象,然后根据你的备份创建新的对象。最后,插入数据。 还原一个备份到现有的数据库或模式 在主窗口中,打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击“还原备份”。 选择还原选项并点击“还原”。 还原一个备份到新的数据库或模式 创建并打开一个新的数据库或模式。 点击“备份”。 右击对象选项卡的任意位置并选择“还原备份从”。 浏览备份文

  • “还原”功能会先删除数据库已选择的对象,然后根据你的备份创建新的对象。最后,插入数据。 还原一个备份到现有的数据库或模式 在主窗口中,打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击 。 选择还原选项并点击“开始”。 还原一个备份到新的数据库或模式 创建并打开一个新的数据库或模式。 点击“备份”。 按住 Control 键并点按对象选项卡的任意位置,然后选择“还原备

  • “还原”功能会先删除数据库已选择的对象,然后根据你的备份创建新的对象。最后,插入数据。 还原一个备份到现有的数据库或模式 在主窗口中,打开一个数据库或模式。 点击“备份”并选择一个现有的备份文件。 在对象工具栏点击“还原备份”。 选择还原选项并点击“开始”。 还原一个备份到新的数据库或模式 创建并打开一个新的数据库或模式。 点击“备份”。 右击对象选项卡的任意位置并选择“还原备份从”。 浏览备份文

  • 我无法恢复我的一项活动的状态。我从活动A中开始活动B startActivity(intent)之后,调用onPause(),然后调用onSaveInstanceState()。单击活动B上的“上一步”按钮,会导致在活动A中调用onDestroy(),然后再调用onCreate(),其中(Bundle savedInstanceState)为null。