java类android.animation.AnimatorListenerAdapter的实例源码

ShareElementActivity.java 文件源码 项目:AndroidShareElement 阅读 25 收藏 0 点赞 0 评论 0
@Override
public void onBackPressed() {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        finishAfterTransition();
    } else {
        mShareElement.convert(mImageView)
                .setDuration(ANIMATOR_DURATION)
                .setInterpolator(new LinearInterpolator())
                .setListener(new AnimatorListenerAdapter() {
                    @Override
                    public void onAnimationEnd(Animator animation) {
                        finish();
                        overridePendingTransition(0, 0);
                    }
                })
                .startExitAnimator();
    }
}
DemoLikePathActivity.java 文件源码 项目:ArcLayout-master 阅读 26 收藏 0 点赞 0 评论 0
@SuppressWarnings("NewApi")
private void hideMenu() {

  List<Animator> animList = new ArrayList<>();

  for (int i = arcLayout.getChildCount() - 1; i >= 0; i--) {
    animList.add(createHideItemAnimator(arcLayout.getChildAt(i)));
  }

  AnimatorSet animSet = new AnimatorSet();
  animSet.setDuration(400);
  animSet.setInterpolator(new AnticipateInterpolator());
  animSet.playTogether(animList);
  animSet.addListener(new AnimatorListenerAdapter() {
    @Override
    public void onAnimationEnd(Animator animation) {
      super.onAnimationEnd(animation);
      menuLayout.setVisibility(View.INVISIBLE);
    }
  });
  animSet.start();

}
MaterialIn.java 文件源码 项目:AcademApp 阅读 39 收藏 0 点赞 0 评论 0
public static void startAnimators(final View view, int startOffsetX, int startOffsetY, long delay) {
    if (view.getVisibility() == View.VISIBLE && view.getAlpha() != 0f) {
        view.clearAnimation();
        view.animate().cancel();
        final Resources res = view.getResources();
        final float endAlpha = view.getAlpha();
        final float endTranslateX = view.getTranslationX();
        final float endTranslateY = view.getTranslationY();
        view.setAlpha(0);
        final Animator fade = ObjectAnimator.ofFloat(view, View.ALPHA, endAlpha);
        fade.setDuration(res.getInteger(R.integer.material_in_fade_anim_duration));
        fade.setInterpolator(new AccelerateInterpolator());
        fade.setStartDelay(delay);
        fade.start();
        ViewPropertyAnimator slide = view.animate();
        if (startOffsetY != 0) {
            view.setTranslationY(startOffsetY);
            slide.translationY(endTranslateY);
        } else {
            view.setTranslationX(startOffsetX);
            slide.translationX(endTranslateX);
        }
        slide.setInterpolator(new DecelerateInterpolator(2));
        slide.setDuration(res.getInteger(R.integer.material_in_slide_anim_duration));
        slide.setStartDelay(delay);
        slide.setListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationCancel(Animator animation) {
                if (fade.isStarted()) {
                    fade.cancel();
                }
                view.setAlpha(endAlpha);
                view.setTranslationX(endTranslateX);
                view.setTranslationY(endTranslateY);
            }
        });
        slide.start();
    }
}
TranslationAlphaHideAnimator.java 文件源码 项目:AndroidSkinAnimator 阅读 13 收藏 0 点赞 0 评论 0
@Override
public SkinAnimator apply(@NonNull final View view, @Nullable final Action action) {
    int offset = -view.getWidth() / 2;
    animator = ObjectAnimator.ofPropertyValuesHolder(view,
            PropertyValuesHolder.ofFloat("alpha", 1, 0),
            PropertyValuesHolder.ofFloat("translationX", 0, - offset, -offset, offset, offset, 0),
            PropertyValuesHolder.ofFloat("rotation", 0, -30, -30, 30, 30, 0),
            PropertyValuesHolder.ofFloat("translationY", 0, 3 * view.getHeight())
    );
    animator.setDuration(5 * PRE_DURATION);
    animator.setInterpolator(new LinearInterpolator());
    animator.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            resetView(view);
            if (action != null) {
                action.action();
            }
        }
    });
    return this;
}
CircularRevealTransition.java 文件源码 项目:magellan 阅读 14 收藏 0 点赞 0 评论 0
@Override
public void animate(
    View from, View to, NavigationType navType, Direction direction, final Callback callback) {
  int[] clickedViewCenter = getCenterClickedView((ViewGroup) from);
  int circularRevealCenterX = clickedViewCenter[0];
  int circularRevealCenterY = clickedViewCenter[1];
  float finalRadius = (float) Math.hypot(to.getWidth(), to.getHeight());

  if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
    Animator anim =
        ViewAnimationUtils.createCircularReveal(to, circularRevealCenterX,
            circularRevealCenterY, 0, finalRadius);
    anim.addListener(new AnimatorListenerAdapter() {
      @Override
      public void onAnimationEnd(Animator animation) {
        callback.onAnimationEnd();
      }
    });
    anim.start();
  } else {
    callback.onAnimationEnd();
  }
}
FeedContextMenuManager.java 文件源码 项目:InstaFlickr 阅读 23 收藏 0 点赞 0 评论 0
private void performDismissAnimation() {
    contextMenuView.setPivotX(contextMenuView.getWidth() / 2);
    contextMenuView.setPivotY(contextMenuView.getHeight());
    contextMenuView.animate()
            .scaleX(0.1f).scaleY(0.1f)
            .setDuration(150)
            .setInterpolator(new AccelerateInterpolator())
            .setStartDelay(100)
            .setListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    if (contextMenuView != null) {
                        contextMenuView.dismiss();
                    }
                    isContextMenuDismissing = false;
                }
            });
}
DatabindingUtils.java 文件源码 项目:DataBindingDemos 阅读 19 收藏 0 点赞 0 评论 0
@BindingAdapter({"android:visibility"})
public static void visibility(final View view, final int newVisibility) {

    final boolean makeVisible = newVisibility == View.VISIBLE;

    if (makeVisible) {
        view.setVisibility(newVisibility);
    }

    view.animate()
            .alpha(makeVisible ? 1.0f : 0.0f)
            .setDuration(500)
            .setListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    super.onAnimationEnd(animation);
                    if (!makeVisible) {
                        view.setVisibility(newVisibility);
                    }
                }
            });
}
AnimUtils.java 文件源码 项目:utils-android 阅读 27 收藏 0 点赞 0 评论 0
/**
 * Анимация прозрачного перехода между двумя view
 *
 * @param inView   view, которая будет показана после завершения анимации
 * @param outView  view, которая будет исчезать
 * @param duration длительность анимации
 */
public static void crossfade(final View inView, final View outView, final long duration) {
    inView.setAlpha(0f);
    inView.setVisibility(View.VISIBLE);

    inView.animate().alpha(1f).setDuration(duration).setListener(null);

    outView.animate()
            .alpha(0f)
            .setDuration(duration)
            .setListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    outView.setVisibility(View.GONE);
                }
            });
}
FindResultBar.java 文件源码 项目:chromium-for-android-56-debug-video 阅读 13 收藏 0 点赞 0 评论 0
/** Dismisses this results bar by removing it from the view hierarchy. */
public void dismiss() {
    mDismissing = true;
    mFindInPageBridge = null;
    if (mVisibilityAnimation != null && mVisibilityAnimation.isRunning()) {
        mVisibilityAnimation.cancel();
    }

    mVisibilityAnimation = ObjectAnimator.ofFloat(this, TRANSLATION_X,
            MathUtils.flipSignIf(mBarTouchWidth, LocalizationUtils.isLayoutRtl()));
    mVisibilityAnimation.setDuration(VISIBILITY_ANIMATION_DURATION_MS);
    mVisibilityAnimation.setInterpolator(BakedBezierInterpolator.FADE_OUT_CURVE);
    mTab.getWindowAndroid().startAnimationOverContent(mVisibilityAnimation);
    mVisibilityAnimation.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);

            if (getParent() != null) ((ViewGroup) getParent()).removeView(FindResultBar.this);
        }
    });
}
PlayerFragment.java 文件源码 项目:Material-Motion 阅读 24 收藏 0 点赞 0 评论 0
private void runIconScale(int delay, @DrawableRes int drawable, int color){
    soundPlay.animate()
            .scaleY(0)
            .scaleX(0)
            .setDuration(duration(R.integer.short_delay))
            .setStartDelay(delay)
            .setListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    super.onAnimationEnd(animation);
                    trackTitle.setTextColor(color);
                    soundPlay.setImageDrawable(ContextCompat.getDrawable(getContext(),drawable));
                    soundPlay.animate()
                            .scaleX(1)
                            .scaleY(1)
                            .setDuration(duration(R.integer.scale_duration))
                            .setListener(null).start();
                }
            }).start();
}


问题


面经


文章

微信
公众号

扫码关注公众号