Java 类android.support.v4.view.ViewPropertyAnimatorCompat 实例源码

项目:GitHub    文件:BadgeItem.java   
/**
 * @param animate whether to animate the change
 * @return this, to allow builder pattern
 */
public T show(boolean animate) {
    mIsHidden = false;
    if (isWeakReferenceValid()) {
        TextView textView = mTextViewRef.get();
        if (animate) {
            textView.setScaleX(0);
            textView.setScaleY(0);
            textView.setVisibility(View.VISIBLE);
            ViewPropertyAnimatorCompat animatorCompat = ViewCompat.animate(textView);
            animatorCompat.cancel();
            animatorCompat.setDuration(mAnimationDuration);
            animatorCompat.scaleX(1).scaleY(1);
            animatorCompat.setListener(null);
            animatorCompat.start();
        } else {
            textView.setScaleX(1);
            textView.setScaleY(1);
            textView.setVisibility(View.VISIBLE);
        }
    }
    return getSubInstance();
}
项目:GitHub    文件:PendingItemAnimator.java   
/**
 * Preform your animation. You do not need to override this in most cases cause the default is pretty good.
 * Listeners will be overridden
 **/
protected ViewPropertyAnimatorCompat animateMoveImpl(final ViewHolder holder, int fromX, int fromY, int toX, int toY) {
    final View view = holder.itemView;
    final int deltaX = toX - fromX;
    final int deltaY = toY - fromY;
    ViewCompat.animate(view).cancel();
    if (deltaX != 0) {
        ViewCompat.animate(view).translationX(0);
    }
    if (deltaY != 0) {
        ViewCompat.animate(view).translationY(0);
    }
    // TODO: make EndActions end listeners instead, since end actions aren't called when
    // vpas are canceled (and can't end them. why?)
    // need listener functionality in VPACompat for this. Ick.
    return ViewCompat.animate(view).setInterpolator(null).setDuration(getMoveDuration());
}
项目:Rx2Animations    文件:AnimateCompletable.java   
@Override
protected void subscribeActual(final CompletableObserver completableObserver) {
    verifyMainThread();
    final View view = viewWeakRef.get();
    if (view == null) {
        completableObserver.onComplete();
        return;
    }

    final ViewPropertyAnimatorCompat animator = ViewCompat.animate(view);

    completableObserver.onSubscribe(createAnimationDisposable(animator, onAnimationCancelAction));

    if (preTransformActions != null) {
        applyActions(preTransformActions, animator);
        animator.setDuration(NONE).setStartDelay(NONE)
                .withEndAction(() -> runAnimation(completableObserver, animator))
                .start();
    } else {
        runAnimation(completableObserver, animator);
    }
}
项目:boohee_v5.6    文件:ViewPropertyAnimatorCompatSet.java   
public void start() {
    if (!this.mIsStarted) {
        Iterator i$ = this.mAnimators.iterator();
        while (i$.hasNext()) {
            ViewPropertyAnimatorCompat animator = (ViewPropertyAnimatorCompat) i$.next();
            if (this.mDuration >= 0) {
                animator.setDuration(this.mDuration);
            }
            if (this.mInterpolator != null) {
                animator.setInterpolator(this.mInterpolator);
            }
            if (this.mListener != null) {
                animator.setListener(this.mProxyListener);
            }
            animator.start();
        }
        this.mIsStarted = true;
    }
}
项目:boohee_v5.6    文件:WindowDecorActionBar.java   
public void animateToMode(boolean toActionMode) {
    ViewPropertyAnimatorCompat fadeOut;
    ViewPropertyAnimatorCompat fadeIn;
    if (toActionMode) {
        showForActionMode();
    } else {
        hideForActionMode();
    }
    if (toActionMode) {
        fadeOut = this.mDecorToolbar.setupAnimatorToVisibility(4, FADE_OUT_DURATION_MS);
        fadeIn = this.mContextView.setupAnimatorToVisibility(0, FADE_IN_DURATION_MS);
    } else {
        fadeIn = this.mDecorToolbar.setupAnimatorToVisibility(0, FADE_IN_DURATION_MS);
        fadeOut = this.mContextView.setupAnimatorToVisibility(8, FADE_OUT_DURATION_MS);
    }
    ViewPropertyAnimatorCompatSet set = new ViewPropertyAnimatorCompatSet();
    set.playSequentially(fadeOut, fadeIn);
    set.start();
}
项目:boohee_v5.6    文件:ScrollingTabContainerView.java   
public void animateToVisibility(int visibility) {
    if (this.mVisibilityAnim != null) {
        this.mVisibilityAnim.cancel();
    }
    if (visibility == 0) {
        if (getVisibility() != 0) {
            ViewCompat.setAlpha(this, 0.0f);
        }
        ViewPropertyAnimatorCompat anim = ViewCompat.animate(this).alpha(1.0f);
        anim.setDuration(200);
        anim.setInterpolator(sAlphaInterpolator);
        anim.setListener(this.mVisAnimListener.withFinalVisibility(anim, visibility));
        anim.start();
        return;
    }
    anim = ViewCompat.animate(this).alpha(0.0f);
    anim.setDuration(200);
    anim.setInterpolator(sAlphaInterpolator);
    anim.setListener(this.mVisAnimListener.withFinalVisibility(anim, visibility));
    anim.start();
}
项目:boohee_v5.6    文件:AbsActionBarView.java   
public ViewPropertyAnimatorCompat setupAnimatorToVisibility(int visibility, long duration) {
    if (this.mVisibilityAnim != null) {
        this.mVisibilityAnim.cancel();
    }
    if (visibility == 0) {
        if (getVisibility() != 0) {
            ViewCompat.setAlpha(this, 0.0f);
        }
        ViewPropertyAnimatorCompat anim = ViewCompat.animate(this).alpha(1.0f);
        anim.setDuration(duration);
        anim.setListener(this.mVisAnimListener.withFinalVisibility(anim, visibility));
        return anim;
    }
    anim = ViewCompat.animate(this).alpha(0.0f);
    anim.setDuration(duration);
    anim.setListener(this.mVisAnimListener.withFinalVisibility(anim, visibility));
    return anim;
}
项目:MenuSet    文件:PerseiLayout.java   
public void createAnimatorToHeadView(final View v, final float angle)
{
    ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = ViewCompat.animate(v);
    viewPropertyAnimatorCompat.setDuration(200);
    viewPropertyAnimatorCompat.setInterpolator(new DecelerateInterpolator());
    viewPropertyAnimatorCompat.rotationX(90);
    viewPropertyAnimatorCompat.start();
    viewPropertyAnimatorCompat.setUpdateListener(new ViewPropertyAnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(View view) {
            float height = ViewCompat.getTranslationY(mChildView);
            mHeadLayout.setPivotX(mHeadLayout.getWidth() / 2);
            mHeadLayout.setPivotY(height);
        }
    });
}
项目:SprintNBA    文件:MaterialRefreshLayout.java   
public void finishRefreshing() {
    if (mChildView != null) {
        ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = ViewCompat.animate(mChildView);
        viewPropertyAnimatorCompat.setDuration(200);
        viewPropertyAnimatorCompat.y(ViewCompat.getTranslationY(mChildView));
        viewPropertyAnimatorCompat.translationY(0);
        viewPropertyAnimatorCompat.setInterpolator(new DecelerateInterpolator());
        viewPropertyAnimatorCompat.start();

        if (mMaterialHeaderView != null) {
            mMaterialHeaderView.onComplete(MaterialRefreshLayout.this);
        } else if (mSunLayout != null) {
            mSunLayout.onComplete(MaterialRefreshLayout.this);
        }

        if (refreshListener != null) {
            refreshListener.onfinish();
        }
    }
    isRefreshing = false;
    progressValue = 0;
}
项目:expandable-recyclerview-with-gridlayout    文件:SwipeDismissItemAnimator.java   
@Override
protected void onCreateAnimation(MoveAnimationInfo info) {
    final View view = info.holder.itemView;
    final int deltaX = info.toX - info.fromX;
    final int deltaY = info.toY - info.fromY;

    if (deltaX != 0) {
        ViewCompat.animate(view).translationX(0);
    }
    if (deltaY != 0) {
        ViewCompat.animate(view).translationY(0);
    }

    final ViewPropertyAnimatorCompat animator = ViewCompat.animate(view);

    animator.setDuration(getDuration());
    animator.setInterpolator(MOVE_INTERPOLATOR);

    startActiveItemAnimation(info, info.holder, animator);
}
项目:expandable-recyclerview-with-gridlayout    文件:RefactoredDefaultItemAnimator.java   
@Override
protected void onCreateAnimation(MoveAnimationInfo info) {
    final View view = info.holder.itemView;
    final int deltaX = info.toX - info.fromX;
    final int deltaY = info.toY - info.fromY;

    if (deltaX != 0) {
        ViewCompat.animate(view).translationX(0);
    }
    if (deltaY != 0) {
        ViewCompat.animate(view).translationY(0);
    }

    final ViewPropertyAnimatorCompat animator = ViewCompat.animate(view);

    animator.setDuration(getDuration());

    startActiveItemAnimation(info, info.holder, animator);
}
项目:MousePaintYzz    文件:MaterialRefreshLayout.java   
public void finishRefreshing() {
    if (mChildView != null) {
        ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = ViewCompat.animate(mChildView);
        viewPropertyAnimatorCompat.setDuration(200);
        viewPropertyAnimatorCompat.y(ViewCompat.getTranslationY(mChildView));
        viewPropertyAnimatorCompat.translationY(0);
        viewPropertyAnimatorCompat.setInterpolator(new DecelerateInterpolator());
        viewPropertyAnimatorCompat.start();

        if (materialHeadView != null) {
            materialHeadView.onComlete(MaterialRefreshLayout.this);
        }

        if (refreshListener != null) {
            refreshListener.onfinish();
        }
    }
    isRefreshing = false;
    progressValue = 0;
    setProgressValue(0);
}
项目:RxAnimations    文件:AnimateOnSubscribe.java   
@Override
public void call(final CompletableSubscriber completableSubscriber) {
    final View view = viewWeakRef.get();
    if (view == null) {
        completableSubscriber.onCompleted();
        return;
    }

    final ViewPropertyAnimatorCompat animator = ViewCompat.animate(view);
    completableSubscriber.onSubscribe(createClearSubscription(animator));

    if (preTransformActions != null) {
        applyActions(preTransformActions, animator);
        animator.setDuration(NONE).setStartDelay(NONE)
                .withEndAction(() -> runAnimation(completableSubscriber, animator))
                .start();
    } else {
        runAnimation(completableSubscriber, animator);
    }
}
项目:BitkyShop    文件:MaterialRefreshLayout.java   
public void finishRefreshing() {
    if (mChildView != null) {
        ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = ViewCompat.animate(mChildView);
        viewPropertyAnimatorCompat.setDuration(200);
        viewPropertyAnimatorCompat.y(ViewCompat.getTranslationY(mChildView));
        viewPropertyAnimatorCompat.translationY(0);
        viewPropertyAnimatorCompat.setInterpolator(new DecelerateInterpolator());
        viewPropertyAnimatorCompat.start();

        if (mMaterialHeaderView != null) {
            mMaterialHeaderView.onComlete(MaterialRefreshLayout.this);
        } else if (mSunLayout != null) {
            mSunLayout.onComlete(MaterialRefreshLayout.this);
        }

        if (refreshListener != null) {
            refreshListener.onfinish();
        }
    }
    isRefreshing = false;
    progressValue = 0;
}
项目:FMTech    文件:ViewPropertyAnimatorCompatSet.java   
public final void start()
{
  if (this.mIsStarted) {
    return;
  }
  Iterator localIterator = this.mAnimators.iterator();
  while (localIterator.hasNext())
  {
    ViewPropertyAnimatorCompat localViewPropertyAnimatorCompat = (ViewPropertyAnimatorCompat)localIterator.next();
    if (this.mDuration >= 0L) {
      localViewPropertyAnimatorCompat.setDuration(this.mDuration);
    }
    if (this.mInterpolator != null) {
      localViewPropertyAnimatorCompat.setInterpolator(this.mInterpolator);
    }
    if (this.mListener != null) {
      localViewPropertyAnimatorCompat.setListener(this.mProxyListener);
    }
    localViewPropertyAnimatorCompat.start();
  }
  this.mIsStarted = true;
}
项目:FMTech    文件:AbsActionBarView.java   
public ViewPropertyAnimatorCompat setupAnimatorToVisibility(int paramInt, long paramLong)
{
  if (this.mVisibilityAnim != null) {
    this.mVisibilityAnim.cancel();
  }
  if (paramInt == 0)
  {
    if (getVisibility() != 0) {
      ViewCompat.setAlpha(this, 0.0F);
    }
    ViewPropertyAnimatorCompat localViewPropertyAnimatorCompat2 = ViewCompat.animate(this).alpha(1.0F);
    localViewPropertyAnimatorCompat2.setDuration(paramLong);
    localViewPropertyAnimatorCompat2.setListener(this.mVisAnimListener.withFinalVisibility(localViewPropertyAnimatorCompat2, paramInt));
    return localViewPropertyAnimatorCompat2;
  }
  ViewPropertyAnimatorCompat localViewPropertyAnimatorCompat1 = ViewCompat.animate(this).alpha(0.0F);
  localViewPropertyAnimatorCompat1.setDuration(paramLong);
  localViewPropertyAnimatorCompat1.setListener(this.mVisAnimListener.withFinalVisibility(localViewPropertyAnimatorCompat1, paramInt));
  return localViewPropertyAnimatorCompat1;
}
项目:OpenCVTour    文件:SwipeDismissItemAnimator.java   
@Override
protected void onCreateAnimation(MoveAnimationInfo info) {
    final View view = info.holder.itemView;
    final int deltaX = info.toX - info.fromX;
    final int deltaY = info.toY - info.fromY;

    if (deltaX != 0) {
        ViewCompat.animate(view).translationX(0);
    }
    if (deltaY != 0) {
        ViewCompat.animate(view).translationY(0);
    }

    final ViewPropertyAnimatorCompat animator = ViewCompat.animate(view);

    animator.setDuration(getDuration());
    animator.setInterpolator(MOVE_INTERPOLATOR);

    startActiveItemAnimation(info, info.holder, animator);
}
项目:OpenCVTour    文件:RefactoredDefaultItemAnimator.java   
@Override
protected void onCreateAnimation(MoveAnimationInfo info) {
    final View view = info.holder.itemView;
    final int deltaX = info.toX - info.fromX;
    final int deltaY = info.toY - info.fromY;

    if (deltaX != 0) {
        ViewCompat.animate(view).translationX(0);
    }
    if (deltaY != 0) {
        ViewCompat.animate(view).translationY(0);
    }

    final ViewPropertyAnimatorCompat animator = ViewCompat.animate(view);

    animator.setDuration(getDuration());

    startActiveItemAnimation(info, info.holder, animator);
}
项目:MousePaint    文件:MaterialRefreshLayout.java   
public void finishRefreshing() {
    if (mChildView != null) {
        ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = ViewCompat.animate(mChildView);
        viewPropertyAnimatorCompat.setDuration(200);
        viewPropertyAnimatorCompat.y(ViewCompat.getTranslationY(mChildView));
        viewPropertyAnimatorCompat.translationY(0);
        viewPropertyAnimatorCompat.setInterpolator(new DecelerateInterpolator());
        viewPropertyAnimatorCompat.start();

        if (materialHeadView != null) {
            materialHeadView.onComlete(MaterialRefreshLayout.this);
        }

        if (refreshListener != null) {
            refreshListener.onfinish();
        }
    }
    isRefreshing = false;
    progressValue = 0;
    setProgressValue(0);
}
项目:PulltoRefreshLayout    文件:PulltoRefreshLayout.java   
public void finishRefreshing() {
    if (mChildView != null) {
        ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = ViewCompat.animate(mChildView);
        viewPropertyAnimatorCompat.setDuration(200);
        viewPropertyAnimatorCompat.y(ViewCompat.getTranslationY(mChildView));
        viewPropertyAnimatorCompat.translationY(0);
        viewPropertyAnimatorCompat.setInterpolator(new DecelerateInterpolator());
        viewPropertyAnimatorCompat.start();

        if (materialHeadView != null) {
            materialHeadView.onComlete(PulltoRefreshLayout.this);
        }

        if (refreshListener != null) {
            refreshListener.onfinish();
        }
    }
    isRefreshing = false;
    progressValue = 0;
    setProgressValue(0);
}
项目:FlexibleAdapter    文件:PendingItemAnimator.java   
/**
 * Preform your animation. You do not need to override this in most cases cause the default is pretty good.
 * Listeners will be overridden
 **/
protected ViewPropertyAnimatorCompat animateMoveImpl(final ViewHolder holder, int fromX, int fromY, int toX, int toY) {
    final View view = holder.itemView;
    final int deltaX = toX - fromX;
    final int deltaY = toY - fromY;
    ViewCompat.animate(view).cancel();
    if (deltaX != 0) {
        ViewCompat.animate(view).translationX(0);
    }
    if (deltaY != 0) {
        ViewCompat.animate(view).translationY(0);
    }
    // TODO: make EndActions end listeners instead, since end actions aren't called when
    // vpas are canceled (and can't end them. why?)
    // need listener functionality in VPACompat for this. Ick.
    return ViewCompat.animate(view).setInterpolator(null).setDuration(getMoveDuration());
}
项目:android-advancedrecyclerview-master    文件:SwipeDismissItemAnimator.java   
@Override
protected void onCreateAnimation(MoveAnimationInfo info) {
    final View view = info.holder.itemView;
    final int deltaX = info.toX - info.fromX;
    final int deltaY = info.toY - info.fromY;

    if (deltaX != 0) {
        ViewCompat.animate(view).translationX(0);
    }
    if (deltaY != 0) {
        ViewCompat.animate(view).translationY(0);
    }

    final ViewPropertyAnimatorCompat animator = ViewCompat.animate(view);

    animator.setDuration(getDuration());
    animator.setInterpolator(MOVE_INTERPOLATOR);

    startActiveItemAnimation(info, info.holder, animator);
}
项目:android-advancedrecyclerview-master    文件:RefactoredDefaultItemAnimator.java   
@Override
protected void onCreateAnimation(MoveAnimationInfo info) {
    final View view = info.holder.itemView;
    final int deltaX = info.toX - info.fromX;
    final int deltaY = info.toY - info.fromY;

    if (deltaX != 0) {
        ViewCompat.animate(view).translationX(0);
    }
    if (deltaY != 0) {
        ViewCompat.animate(view).translationY(0);
    }

    final ViewPropertyAnimatorCompat animator = ViewCompat.animate(view);

    animator.setDuration(getDuration());

    startActiveItemAnimation(info, info.holder, animator);
}
项目:MyCTFWriteUps    文件:WindowDecorActionBar.java   
public void animateToMode(boolean flag)
{
    ViewPropertyAnimatorCompat viewpropertyanimatorcompat;
    ViewPropertyAnimatorCompat viewpropertyanimatorcompat1;
    ViewPropertyAnimatorCompatSet viewpropertyanimatorcompatset;
    if (flag)
    {
        showForActionMode();
    } else
    {
        hideForActionMode();
    }
    if (flag)
    {
        viewpropertyanimatorcompat1 = mDecorToolbar.setupAnimatorToVisibility(8, 100L);
        viewpropertyanimatorcompat = mContextView.setupAnimatorToVisibility(0, 200L);
    } else
    {
        viewpropertyanimatorcompat = mDecorToolbar.setupAnimatorToVisibility(0, 200L);
        viewpropertyanimatorcompat1 = mContextView.setupAnimatorToVisibility(8, 100L);
    }
    viewpropertyanimatorcompatset = new ViewPropertyAnimatorCompatSet();
    viewpropertyanimatorcompatset.playSequentially(viewpropertyanimatorcompat1, viewpropertyanimatorcompat);
    viewpropertyanimatorcompatset.start();
}
项目:MyCTFWriteUps    文件:AbsActionBarView.java   
public ViewPropertyAnimatorCompat setupAnimatorToVisibility(int i, long l)
{
    if (mVisibilityAnim != null)
    {
        mVisibilityAnim.cancel();
    }
    if (i == 0)
    {
        if (getVisibility() != 0)
        {
            ViewCompat.setAlpha(this, 0.0F);
        }
        ViewPropertyAnimatorCompat viewpropertyanimatorcompat = ViewCompat.animate(this).alpha(1.0F);
        viewpropertyanimatorcompat.setDuration(l);
        viewpropertyanimatorcompat.setListener(mVisAnimListener.withFinalVisibility(viewpropertyanimatorcompat, i));
        return viewpropertyanimatorcompat;
    } else
    {
        ViewPropertyAnimatorCompat viewpropertyanimatorcompat1 = ViewCompat.animate(this).alpha(0.0F);
        viewpropertyanimatorcompat1.setDuration(l);
        viewpropertyanimatorcompat1.setListener(mVisAnimListener.withFinalVisibility(viewpropertyanimatorcompat1, i));
        return viewpropertyanimatorcompat1;
    }
}
项目:SimpleItemAnimator    文件:ChangeAnimationExecutor.java   
Observable<ViewPropertyAnimatorCompat> executeForNewHolder(AnimationTask.AnimationEvent animationEvent) {
    final Option<RecyclerView.ViewHolder> newHolder = animationEvent.getEvent().getSecondaryHolder();
    if (newHolder.bind(h -> Option.fromNull(h.itemView)).isNone() || animationEvent.getPreStateOption().isNone()) {
        return Observable.empty();
    }

    final RecyclerView.ViewHolder holder = newHolder.some();
    final SimpleItemAnimator.Event event = animationEvent.getEvent();

    final F<Unit, P1<Unit>> startDispatcher = startDispatcherSelectorForNewHolder(holder);
    final F<Unit, P1<Unit>> finishDispatcher = finishDispatcherSelectorForNewHolder(holder);
    final F<View, Unit> defaultStateSetter = (animationEvent.getPreStateOption().some()::restoreState);
    final ViewPropertyAnimatorCompat animator =
            createAnimatorForNewHolder(holder.itemView, event.getParam()).setDuration(duration(event.getParam().getEventType()));

    return create(
            true,
            startDispatcher,
            finishDispatcher,
            defaultStateSetter,
            animator);
}
项目:SimpleItemAnimator    文件:SimpleItemAnimator.java   
private SimpleItemAnimator(
        final F<ViewPropertyAnimatorCompat, ViewPropertyAnimatorCompat> addEventAnimation,
        final F<ViewPropertyAnimatorCompat, ViewPropertyAnimatorCompat> removeEventAnimation,
        final F2<ViewPropertyAnimatorCompat, EventParam, ViewPropertyAnimatorCompat> moveEventAnimation,
        final Option<F2<ViewPropertyAnimatorCompat, EventParam, ViewPropertyAnimatorCompat>> changeEventAnimationForOldView,
        final Option<F2<ViewPropertyAnimatorCompat, EventParam, ViewPropertyAnimatorCompat>> changeEventAnimationForNewView,
        final boolean isChangeEventMix,
        final F<View, Unit> prepareAddEventView,
        final F<View, Unit> prepareRemoveEventView,
        final F2<View, EventParam, Unit> prepareMoveEventView,
        final F3<View, Option<View>, EventParam, Unit> prepareChangeEventView) {

    this.addEventAnimation = addEventAnimation;
    this.removeEventAnimation = removeEventAnimation;
    this.moveEventAnimation = moveEventAnimation;
    this.changeEventAnimationForOldView = changeEventAnimationForOldView.toNull();
    this.changeEventAnimationForNewView = changeEventAnimationForNewView.toNull();
    final Boolean supportChange = changeEventAnimationForOldView.bind(cfo ->
            changeEventAnimationForNewView.map(cfn -> true)).orSome(false);
    setSupportsChangeAnimations(supportChange);
    this.changeEventMix = isChangeEventMix;
    this.prepareAddEventView = prepareAddEventView;
    this.prepareRemoveEventView = prepareRemoveEventView;
    this.prepareMoveEventView = prepareMoveEventView;
    this.prepareChangeEventView = prepareChangeEventView;
}
项目:SimpleItemAnimator    文件:AbstAnimationExecutor.java   
/**
 * アニメーション実行命令を出して返す
 *
 * @return cancelを可能とするために {@link android.support.v4.view.ViewPropertyAnimatorCompat} を返す
 */
protected Observable<ViewPropertyAnimatorCompat> defaultExecute(
        @Nonnull final AnimationTask.AnimationEvent animationEvent) {

    final SimpleItemAnimator.Event event = animationEvent.getEvent();
    final F<Unit, P1<Unit>> startDispatcher = startDispatcherSelector(event);
    final F<Unit, P1<Unit>> finishDispatcher = finishDispatcherSelector(event);
    final F<View, Unit> defaultStateSetter = (animationEvent.getPreState()::restoreState);
    final SimpleItemAnimator.EventType eventType = event.getParam().getEventType();
    final ViewPropertyAnimatorCompat animator =
            createAnimator(event).setDuration(duration(eventType));

    return create(
            eventType == SimpleItemAnimator.EventType.ADD || eventType == SimpleItemAnimator.EventType.MOVE,
            startDispatcher,
            finishDispatcher,
            defaultStateSetter,
            animator);
}
项目:RecyclerViewLib    文件:PendingItemAnimator.java   
/** Preform your animation. You do not need to override this in most cases cause the default is pretty good.
 * Listeners will be overridden **/
protected ViewPropertyAnimatorCompat animateMoveImpl(final ViewHolder holder, int fromX, int fromY, int toX, int toY) {
    final View view = holder.itemView;
    final int deltaX = toX - fromX;
    final int deltaY = toY - fromY;
    ViewCompat.animate(view).cancel();
    if (deltaX != 0) {
        ViewCompat.animate(view).translationX(0);
    }
    if (deltaY != 0) {
        ViewCompat.animate(view).translationY(0);
    }
    // TODO: make EndActions end listeners instead, since end actions aren't called when
    // vpas are canceled (and can't end them. why?)
    // need listener functionality in VPACompat for this. Ick.
    return ViewCompat.animate(view).setInterpolator(null).setDuration(getMoveDuration());
}
项目:SinaWeibo_Android    文件:MaterialRefreshLayout.java   
public void finishRefreshing() {
    if (mChildView != null) {
        ViewPropertyAnimatorCompat viewPropertyAnimatorCompat = ViewCompat.animate(mChildView);
        viewPropertyAnimatorCompat.setDuration(200);
        viewPropertyAnimatorCompat.y(ViewCompat.getTranslationY(mChildView));
        viewPropertyAnimatorCompat.translationY(0);
        viewPropertyAnimatorCompat.setInterpolator(new DecelerateInterpolator());
        viewPropertyAnimatorCompat.start();

        if (mMaterialHeaderView != null) {
            mMaterialHeaderView.onComlete(MaterialRefreshLayout.this);
        } else if (mSunLayout != null) {
            mSunLayout.onComlete(MaterialRefreshLayout.this);
        }

        if (refreshListener != null) {
            refreshListener.onfinish();
        }
    }
    isRefreshing = false;
    progressValue = 0;
}
项目:Unofficial-Ups    文件:LoginActivity.java   
private ViewPropertyAnimatorCompat displayWarning(boolean visible){
    setVisibility(View.GONE,llaForm);
    setVisibility(visible ? View.VISIBLE : View.INVISIBLE,tviWarning,btnUnderstood);
    return ViewCompat.animate(btnUnderstood)
            .scaleX(visible ? 1.0f : 0.0f)
            .setStartDelay(500);
}
项目:GitHub    文件:FlipDownItemAnimator.java   
@Override
protected ViewPropertyAnimatorCompat animateRemoveImpl(ViewHolder holder) {
    return ViewCompat.animate(holder.itemView)
            .rotationY(90)
            .translationX(-(holder.itemView.getMeasuredWidth() / 4))
            .scaleX(0.5F)
            .scaleY(0.5F)
            .setInterpolator(new AccelerateInterpolator());
}
项目:GitHub    文件:FlipDownItemAnimator.java   
@Override
protected ViewPropertyAnimatorCompat animateAddImpl(ViewHolder holder) {
    return ViewCompat.animate(holder.itemView)
            .rotationY(0)
            .translationX(0)
            .setInterpolator(new BounceInterpolator());
}
项目:GitHub    文件:FromTopItemAnimator.java   
@Override
protected ViewPropertyAnimatorCompat animateRemoveImpl(ViewHolder holder) {
    Point screen = Utils.getScreenDimensions(holder.itemView.getContext());
    int top = holder.itemView.getTop();
    return ViewCompat.animate(holder.itemView)
            .rotation(80)
            .translationY(screen.y - top)
            .setInterpolator(new AccelerateInterpolator());
}
项目:GitHub    文件:SlideItemAnimator.java   
protected ViewPropertyAnimatorCompat animateRemoveImpl(ViewHolder holder) {
    final View view = holder.itemView;
    ViewCompat.animate(view).cancel();
    return ViewCompat.animate(view)
            .translationX(Utils.getScreenDimensions(holder.itemView.getContext()).x)
            .setInterpolator(new AnticipateOvershootInterpolator());
}
项目:GitHub    文件:SlideItemAnimator.java   
protected ViewPropertyAnimatorCompat animateAddImpl(ViewHolder holder) {
    final View view = holder.itemView;
    ViewCompat.animate(view).cancel();
    int width = getWidth(holder);
    return ViewCompat.animate(view)
            .translationXBy(-width)
            .setInterpolator(new BounceInterpolator());
}
项目:Rx2Animations    文件:AnimateCompletable.java   
private AnimateCompletable(final WeakReference<View> viewWeakRef,
                           @Nullable final List<Consumer<ViewPropertyAnimatorCompat>> preTransformActions,
                           final List<Consumer<ViewPropertyAnimatorCompat>> animationActions,
                           final Consumer<View> onAnimationCancelAction) {
    this.viewWeakRef = viewWeakRef;
    this.preTransformActions = preTransformActions;
    this.animationActions = animationActions;
    this.onAnimationCancelAction = onAnimationCancelAction;
}
项目:Rx2Animations    文件:AnimateCompletable.java   
private void applyActions(final List<Consumer<ViewPropertyAnimatorCompat>> actions, final ViewPropertyAnimatorCompat animator) {
    for (final Consumer<ViewPropertyAnimatorCompat> action : actions) {
        try {
            action.accept(animator);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
项目:JD-Test    文件:BadgeItem.java   
/**
 * @param animate whether to animate the change
 * @return this, to allow builder pattern
 */
public BadgeItem show(boolean animate) {
    mIsHidden = false;
    if (isWeakReferenceValid()) {
        TextView textView = mTextViewRef.get();
        if (animate) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
                textView.setScaleX(0);
                textView.setScaleY(0);
            }
            textView.setVisibility(View.VISIBLE);
            ViewPropertyAnimatorCompat animatorCompat = ViewCompat.animate(textView);
            animatorCompat.cancel();
            animatorCompat.setDuration(mAnimationDuration);
            animatorCompat.scaleX(1).scaleY(1);
            animatorCompat.setListener(null);
            animatorCompat.start();
        } else {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
                textView.setScaleX(1);
                textView.setScaleY(1);
            }
            textView.setVisibility(View.VISIBLE);
        }
    }
    return this;
}
项目:android-radiobutton-extended    文件:SecondAdapter.java   
@Override
public void onBindRadioGroupedViewHolder(SecondViewHolder holder, int position, List<Object> payloads) {
    {
        setDefaults(holder, position);
    }
    {
        MyPayload payload = null;

        for (Object itrPayload : payloads) {
            if (itrPayload != null && itrPayload instanceof MyPayload) {
                payload = (MyPayload) itrPayload;
                break;
            }
        }

        if (payload != null) {
            ViewPropertyAnimatorCompat animator = ViewCompat
                    .animate(holder.getIcon())
                    .setInterpolator(new LinearOutSlowInInterpolator())
                    .setDuration(500);

            int diff = payload.calcDiffY();

            if (diff == 0) {
                ViewCompat.setTranslationX(holder.getIcon(), holder.getIcon().getMeasuredWidth() * -1);
                animator = animator
                        .translationX(0);
            } else {
                ViewCompat.setTranslationY(holder.getIcon(), diff);
                animator = animator
                        .translationY(0);
            }

            animator.start();
        }
    }
}