1

コードで 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 android.animation.Animator;
//import android.animation.AnimatorListenerAdapter;
//import android.animation.ValueAnimator;

私の新しいインポートステートメント:

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

1 に答える 1

2

私はちょうど同じ問題に遭遇し、Jake Wharton の実装を見つけましたSwipeDismissListener:

行 156 で、ジェイクは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)
}

そして、エラーがあってはなりません。

于 2013-09-05T08:37:51.887 に答える