gpt4 book ai didi

java - 未设置 ValueAnimator 持续时间

转载 作者:太空宇宙 更新时间:2023-11-04 13:32:03 29 4
gpt4 key购买 nike

我正在尝试重现 this iOS-like Bounce Effect来自this library .

当我从触摸 RelativeLayout 中释放时,它会立即返回到顶部,而它应该以 n 毫秒的持续时间反弹。

弹跳动画类

public class Bouncer implements AnimatorUpdateListener, AnimatorListener {

private ValueAnimator mAnimator;
private int mLastOffset;
private boolean isHeader;
private State mTargetState;
private boolean mCanceled;

public void recover(boolean header, int offset, State state) {
cancel();
Log.d(TAG, "recover offset " + offset);
mCanceled = false;
isHeader = header;
mTargetState = state;
mAnimator = new ValueAnimator();
mAnimator.setIntValues(0, offset);
mLastOffset = 0;
mAnimator.setRepeatCount(0);
if (mInterpolator == null) {
mInterpolator = new DecelerateInterpolator();
}
mAnimator.setInterpolator(mInterpolator);
mAnimator.addListener(this);
mAnimator.addUpdateListener(this);
mAnimator.setDuration((long) 1000).start();
}

public void cancel() {
if (mAnimator != null && mAnimator.isRunning()) {
mAnimator.cancel();
}
mAnimator = null;
}

@Override
public void onAnimationUpdate(ValueAnimator va) {
int currentOffset = (Integer) va.getAnimatedValue();
int delta = mLastOffset - currentOffset;
Log.d(TAG, "recover delta " + delta + " currentOffset "
+ currentOffset);
offsetContent(delta);
mLastOffset = currentOffset;

if (mListener != null) {
int contentOffset = mContentView.getTop();
mListener.onOffset(isHeader, contentOffset);
}
}

@Override
public void onAnimationEnd(Animator animation) {
Log.d(TAG, "onAnimationEnd");
mAnimator = null;
if (!mCanceled) {
setState(isHeader, mTargetState);
}
}

@Override
public void onAnimationCancel(Animator animation) {
Log.d(TAG, "onAnimationCancel");
mCanceled = true;
}
}

这是我们应该能够更改动画持续时间的地方:

mAnimator.setDuration((long) 1000)

但是这一行根本没有任何区别。

有什么想法吗?

最佳答案

只需返回 original commited图书馆的类(class)解决了我的问题。

之前这是一个有效的 Canvas 动画,我不知道为什么他们将其更改为 ValueAnimator

关于java - 未设置 ValueAnimator 持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32078012/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com