nineoldAndroid AnimationListenerAdapter



我在代码中使用android.animation.AnimatorListenerAdapter类来收听动画。例子:

downView.animate().translationX(-mViewWidth).setDuration(mAnimationTime).
setListener(new AnimatorListenerAdapter() {                     
@Override
    public void onAnimationStart(
    Animator animation) {
    boolean real_dismiss = true;
    performDismiss(
//some code
)
    }

我使用了nineoldandroids的向后兼容性库,动画工作得很好,但我得到以下错误,这不能让我运行我的代码,在我的监听器:

ViewPropertyAnimator类型中的setListener(Animator.AnimatorListener)方法不适用于参数(new AnimatorListenerAdapter(){})

当我使用API级别11时,代码工作正常。我以前的import语句:

//import android.animation.Animator;
//import android.animation.AnimatorListenerAdapter;
//import android.animation.ValueAnimator;

我的新import语句:

import com.nineoldandroids.animation.*;
import com.nineoldandroids.*;

我刚刚遇到了同样的问题,找到了Jake Wharton的SwipeDismissListener实现:

第156行,Jake使用com.nineoldandroids.view.ViewPropertyAnimator.animate(View arg0) 执行相同的功能

因此,你所需要做的就是把你的代码改成这样:
animate(downView)
.translationX(-mViewWidth)
.setDuration(mAnimationTime)
.setListener(new AnimatorListenerAdapter() {  
@Override
    public void onAnimationStart(Animator animation) {
    boolean real_dismiss = true;
    performDismiss(//some code)
}

不应该有任何错误

相关内容

  • 没有找到相关文章

最新更新