类android.graphics.drawable.Animatable2源码实例Demo

下面列出了怎么用android.graphics.drawable.Animatable2的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Bop   文件: AnimatedVectorDrawableCompat.java
public static void addListener(AnimatedVectorDrawable drawable, Object callback) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (callback instanceof Animatable2.AnimationCallback) {
            drawable.registerAnimationCallback((Animatable2.AnimationCallback) callback);
        } else {
            throw new IllegalArgumentException("Callback parameter must implement " + Animatable2.AnimationCallback.class.getName());
        }
    }
}
 
源代码2 项目: Bop   文件: AnimatedVectorDrawableCompat.java
public static boolean removeListener(AnimatedVectorDrawable drawable, Object callback) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (callback instanceof Animatable2.AnimationCallback) {
            return drawable.unregisterAnimationCallback((Animatable2.AnimationCallback) callback);
        } else {
            throw new IllegalArgumentException("Callback parameter must implement " + Animatable2.AnimationCallback.class.getName());
        }
    }
    return true;
}
 
public static void addListener(AnimatedVectorDrawable drawable, Object callback) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (callback instanceof Animatable2.AnimationCallback) {
            drawable.registerAnimationCallback((Animatable2.AnimationCallback) callback);
        } else {
            throw new IllegalArgumentException("Callback parameter must implement " + Animatable2.AnimationCallback.class.getName());
        }
    }
}
 
public static boolean removeListener(AnimatedVectorDrawable drawable, Object callback) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (callback instanceof Animatable2.AnimationCallback) {
            return drawable.unregisterAnimationCallback((Animatable2.AnimationCallback) callback);
        } else {
            throw new IllegalArgumentException("Callback parameter must implement " + Animatable2.AnimationCallback.class.getName());
        }
    }
    return true;
}
 
源代码5 项目: RxAnimationBinding   文件: RxAnimatable2.java
@CheckResult
@NonNull
@TargetApi(Build.VERSION_CODES.M)
public static Observable<Drawable> starts(Animatable2 animatable2){
    checkNotNull(animatable2, "animatable2 == null");
    return Observable.create(new Animatable2ListenerOnSubscribe(animatable2, AnimationEvent.START));
}
 
源代码6 项目: RxAnimationBinding   文件: RxAnimatable2.java
@CheckResult
@NonNull
@TargetApi(Build.VERSION_CODES.M)
public static Observable<Drawable> ends(Animatable2 animatable2){
    checkNotNull(animatable2, "animatable2 == null");
    return Observable.create(new Animatable2ListenerOnSubscribe(animatable2, AnimationEvent.END));
}
 
源代码7 项目: cathode   文件: CheckInDrawable.java
public CheckInDrawable(Context context, int animatedCheckInDrawableRes,
    int animatedCancelDrawableRes, int checkInDrawableRes, int cancelDrawableRes) {
  this.context = context;

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    checkInDrawable = context.getDrawable(animatedCheckInDrawableRes);
    cancelDrawable = context.getDrawable(animatedCancelDrawableRes);

    callbacks = new Animatable2.AnimationCallback() {
      @RequiresApi(api = Build.VERSION_CODES.M) @Override
      public void onAnimationEnd(Drawable drawable) {
        ((AnimatedVectorDrawable) checkInDrawable).clearAnimationCallbacks();
        ((AnimatedVectorDrawable) checkInDrawable).reset();
        ((AnimatedVectorDrawable) cancelDrawable).clearAnimationCallbacks();
        ((AnimatedVectorDrawable) cancelDrawable).reset();

        updateWatchingDrawable(watching);
      }
    };
  } else {
    checkInDrawable =
        VectorDrawableCompat.create(context.getResources(), checkInDrawableRes, null);
    cancelDrawable = VectorDrawableCompat.create(context.getResources(), cancelDrawableRes, null);
  }

  checkInDrawable.setCallback(this);
  cancelDrawable.setCallback(this);

  currentDrawable = checkInDrawable;
}
 
Animatable2ListenerOnSubscribe(Animatable2 animatable2, int eventToCallOn) {
    this.animatable2 = animatable2;
    this.eventToCallOn = eventToCallOn;
}
 
 同包方法