Example usage for android.animation AnimatorSet setDuration

List of usage examples for android.animation AnimatorSet setDuration

Introduction

In this page you can find the example usage for android.animation AnimatorSet setDuration.

Prototype

@Override
public AnimatorSet setDuration(long duration) 

Source Link

Document

Sets the length of each of the current child animations of this AnimatorSet.

Usage

From source file:org.mariotaku.twidere.fragment.AccountsDashboardFragment.java

private void onAccountSelected(AccountProfileImageViewHolder holder, @NonNull final ParcelableAccount account) {
    if (mSwitchAccountAnimationPlaying)
        return;//  w w w .j ava2s.c o  m
    final ImageView snapshotView = mFloatingProfileImageSnapshotView;
    final ShapedImageView profileImageView = mAccountProfileImageView;
    final ShapedImageView clickedImageView = holder.getIconView();

    // Reset snapshot view position
    snapshotView.setPivotX(0);
    snapshotView.setPivotY(0);
    snapshotView.setTranslationX(0);
    snapshotView.setTranslationY(0);

    final Matrix matrix = new Matrix();
    final RectF sourceBounds = new RectF(), destBounds = new RectF(), snapshotBounds = new RectF();
    getLocationOnScreen(clickedImageView, sourceBounds);
    getLocationOnScreen(profileImageView, destBounds);
    getLocationOnScreen(snapshotView, snapshotBounds);
    final float finalScale = destBounds.width() / sourceBounds.width();
    final Bitmap snapshotBitmap = TransitionUtils.createViewBitmap(clickedImageView, matrix,
            new RectF(0, 0, sourceBounds.width(), sourceBounds.height()));
    final ViewGroup.LayoutParams lp = snapshotView.getLayoutParams();
    lp.width = clickedImageView.getWidth();
    lp.height = clickedImageView.getHeight();
    snapshotView.setLayoutParams(lp);
    // Copied from MaterialNavigationDrawer: https://github.com/madcyph3r/AdvancedMaterialDrawer/
    AnimatorSet set = new AnimatorSet();
    set.play(ObjectAnimator.ofFloat(snapshotView, View.TRANSLATION_X, sourceBounds.left - snapshotBounds.left,
            destBounds.left - snapshotBounds.left))
            .with(ObjectAnimator.ofFloat(snapshotView, View.TRANSLATION_Y,
                    sourceBounds.top - snapshotBounds.top, destBounds.top - snapshotBounds.top))
            .with(ObjectAnimator.ofFloat(snapshotView, View.SCALE_X, 1, finalScale))
            .with(ObjectAnimator.ofFloat(snapshotView, View.SCALE_Y, 1, finalScale))
            .with(ObjectAnimator.ofFloat(profileImageView, View.ALPHA, 1, 0))
            .with(ObjectAnimator.ofFloat(clickedImageView, View.SCALE_X, 0, 1))
            .with(ObjectAnimator.ofFloat(clickedImageView, View.SCALE_Y, 0, 1));
    final long animationTransition = 400;
    set.setDuration(animationTransition);
    set.setInterpolator(new DecelerateInterpolator());
    set.addListener(new AnimatorListener() {

        private Drawable clickedDrawable;
        private int[] clickedColors;

        @Override
        public void onAnimationStart(Animator animation) {
            snapshotView.setVisibility(View.VISIBLE);
            snapshotView.setImageBitmap(snapshotBitmap);
            final Drawable profileDrawable = profileImageView.getDrawable();
            clickedDrawable = clickedImageView.getDrawable();
            clickedColors = clickedImageView.getBorderColors();
            final ParcelableAccount oldSelectedAccount = mAccountsAdapter.getSelectedAccount();
            if (oldSelectedAccount == null)
                return;
            mMediaLoader.displayDashboardProfileImage(clickedImageView, oldSelectedAccount, profileDrawable);
            clickedImageView.setBorderColors(profileImageView.getBorderColors());

            displayAccountBanner(account);

            mSwitchAccountAnimationPlaying = true;
        }

        @Override
        public void onAnimationEnd(Animator animation) {
            finishAnimation();
        }

        @Override
        public void onAnimationCancel(Animator animation) {
            finishAnimation();
        }

        @Override
        public void onAnimationRepeat(Animator animation) {

        }

        private void finishAnimation() {
            final Editor editor = mPreferences.edit();
            editor.putString(KEY_DEFAULT_ACCOUNT_KEY, account.account_key.toString());
            editor.apply();
            mAccountsAdapter.setSelectedAccount(account);
            updateAccountActions();
            displayCurrentAccount(clickedDrawable);
            snapshotView.setVisibility(View.INVISIBLE);
            snapshotView.setImageDrawable(null);
            profileImageView.setImageDrawable(clickedDrawable);
            profileImageView.setBorderColors(clickedColors);
            profileImageView.setAlpha(1f);
            clickedImageView.setScaleX(1);
            clickedImageView.setScaleY(1);
            clickedImageView.setAlpha(1f);
            mSwitchAccountAnimationPlaying = false;
        }
    });
    set.start();

}

From source file:com.androidinspain.deskclock.alarms.dataadapter.ExpandedAlarmViewHolder.java

@Override
public Animator onAnimateChange(List<Object> payloads, int fromLeft, int fromTop, int fromRight, int fromBottom,
        long duration) {
    if (payloads == null || payloads.isEmpty() || !payloads.contains(ANIMATE_REPEAT_DAYS)) {
        return null;
    }//from ww  w.j a  va 2 s. c  o m

    final boolean isExpansion = repeatDays.getVisibility() == View.VISIBLE;
    final int height = repeatDays.getHeight();
    setTranslationY(isExpansion ? -height : 0f, isExpansion ? -height : height);
    repeatDays.setVisibility(View.VISIBLE);
    repeatDays.setAlpha(isExpansion ? 0f : 1f);

    final AnimatorSet animatorSet = new AnimatorSet();
    animatorSet.playTogether(
            AnimatorUtils.getBoundsAnimator(itemView, fromLeft, fromTop, fromRight, fromBottom,
                    itemView.getLeft(), itemView.getTop(), itemView.getRight(), itemView.getBottom()),
            ObjectAnimator.ofFloat(repeatDays, View.ALPHA, isExpansion ? 1f : 0f),
            ObjectAnimator.ofFloat(repeatDays, TRANSLATION_Y, isExpansion ? 0f : -height),
            ObjectAnimator.ofFloat(ringtone, TRANSLATION_Y, 0f),
            ObjectAnimator.ofFloat(vibrate, TRANSLATION_Y, 0f),
            ObjectAnimator.ofFloat(editLabel, TRANSLATION_Y, 0f),
            ObjectAnimator.ofFloat(preemptiveDismissButton, TRANSLATION_Y, 0f),
            ObjectAnimator.ofFloat(hairLine, TRANSLATION_Y, 0f),
            ObjectAnimator.ofFloat(delete, TRANSLATION_Y, 0f),
            ObjectAnimator.ofFloat(arrow, TRANSLATION_Y, 0f));
    animatorSet.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animator) {
            setTranslationY(0f, 0f);
            repeatDays.setAlpha(1f);
            repeatDays.setVisibility(isExpansion ? View.VISIBLE : View.GONE);
            itemView.requestLayout();
        }
    });
    animatorSet.setDuration(duration);
    animatorSet.setInterpolator(AnimatorUtils.INTERPOLATOR_FAST_OUT_SLOW_IN);

    return animatorSet;
}

From source file:com.betterAlarm.deskclock.timer.TimerFragment.java

private Animator getScaleFooterButtonsAnimator(final boolean show) {
    final AnimatorSet animatorSet = new AnimatorSet();
    final Animator leftButtonAnimator = AnimatorUtils.getScaleAnimator(mLeftButton, show ? 0.0f : 1.0f,
            show ? 1.0f : 0.0f);/*from w  w  w  .j  a  v a 2s .  c om*/
    final Animator rightButtonAnimator = AnimatorUtils.getScaleAnimator(mRightButton, show ? 0.0f : 1.0f,
            show ? 1.0f : 0.0f);
    final float fabStartScale = (show && mFab.getVisibility() == View.INVISIBLE) ? 0.0f : 1.0f;
    final Animator fabAnimator = AnimatorUtils.getScaleAnimator(mFab, fabStartScale, show ? 1.0f : 0.0f);
    animatorSet.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            mLeftButton.setVisibility(show ? View.VISIBLE : View.INVISIBLE);
            mRightButton.setVisibility(show ? View.VISIBLE : View.INVISIBLE);
            restoreScale(mLeftButton);
            restoreScale(mRightButton);
            restoreScale(mFab);
        }
    });
    // If not show, means transiting from timer view to setup view,
    // when the setup view starts to rotate, the footer buttons are already invisible,
    // so the scaling has to finish before the setup view starts rotating
    animatorSet.setDuration(show ? ROTATE_ANIM_DURATION_MILIS * 2 : ROTATE_ANIM_DURATION_MILIS);
    animatorSet.play(leftButtonAnimator).with(rightButtonAnimator).with(fabAnimator);
    return animatorSet;
}

From source file:com.github.shareme.gwsmaterialdrawer.library.DrawerView.java

private void animateToProfile(DrawerProfile profile) {
    Log.d(TAG, "animateToProfile(*" + profile.getId() + ")");

    if (mProfileAdapter.getCount() > 1) {
        List<Animator> animators = new ArrayList<>();
        List<Animator.AnimatorListener> listeners = new ArrayList<>();

        final DrawerProfile oldProfile = mProfileAdapter.getItem(0);
        final DrawerProfile newProfile = profile;

        /* Background animation */

        AlphaSatColorMatrixEvaluator evaluator = new AlphaSatColorMatrixEvaluator();
        final AnimatableColorMatrixColorFilter filter = new AnimatableColorMatrixColorFilter(
                evaluator.getColorMatrix());

        ObjectAnimator backgroundAnimator = ObjectAnimator.ofObject(filter, "colorMatrix", evaluator,
                evaluator.getColorMatrix());
        backgroundAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override/*from w  w  w .  j a v  a  2s. c  o  m*/
            public void onAnimationUpdate(ValueAnimator animation) {
                imageViewProfileBackgroundOverlay.setColorFilter(filter.getColorFilter());
            }
        });
        animators.add(backgroundAnimator);

        listeners.add(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {
                imageViewProfileBackground.setImageDrawable(oldProfile.getBackground());

                imageViewProfileBackgroundOverlay.setImageDrawable(newProfile.getBackground());
                imageViewProfileBackgroundOverlay.setColorFilter(filter.getColorFilter());
                imageViewProfileBackgroundOverlay.setVisibility(VISIBLE);

                imageViewProfileAvatarSecondary.setClickable(false);
            }

            @Override
            public void onAnimationEnd(Animator animation) {
                imageViewProfileBackground.setImageDrawable(newProfile.getBackground());

                if (newProfile.getBackground() instanceof BitmapDrawable) {
                    new Palette.Builder(((BitmapDrawable) newProfile.getBackground()).getBitmap())
                            .resizeBitmapSize(500).generate(new Palette.PaletteAsyncListener() {
                                @Override
                                public void onGenerated(Palette palette) {
                                    Palette.Swatch vibrantSwatch = palette.getVibrantSwatch();
                                    if (vibrantSwatch != null) {
                                        textViewProfileAvatarCount
                                                .setTextColor(vibrantSwatch.getTitleTextColor());
                                        textViewProfileAvatarCount.getBackground()
                                                .setColorFilter(vibrantSwatch.getRgb(), PorterDuff.Mode.SRC_IN);
                                    }
                                }
                            });
                }

                imageViewProfileBackgroundOverlay.setVisibility(GONE);

                if (hasOnProfileSwitchListener()) {
                    onProfileSwitchListener.onSwitch(oldProfile, oldProfile.getId(), newProfile,
                            newProfile.getId());
                }
            }

            @Override
            public void onAnimationCancel(Animator animation) {
            }

            @Override
            public void onAnimationRepeat(Animator animation) {
            }
        });

        /* Text animation */

        AnimatorSet textSet = new AnimatorSet();

        AnimatorSet textOutSet = new AnimatorSet();
        textOutSet.playTogether(ObjectAnimator.ofFloat(linearLayoutProfileTextContainer, "alpha", 1, 0),
                ObjectAnimator.ofFloat(linearLayoutProfileTextContainer, "translationX", 0, getWidth() / 4));
        textOutSet.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {
            }

            @Override
            public void onAnimationEnd(Animator animation) {
                updateProfileTheme();
                if (newProfile.hasName()) {
                    textViewProfileName.setText(newProfile.getName());
                    textViewProfileName.setVisibility(VISIBLE);
                } else {
                    textViewProfileName.setVisibility(GONE);
                }
                if (newProfile.hasDescription()) {
                    textViewProfileDescription.setText(newProfile.getDescription());
                    textViewProfileDescription.setVisibility(VISIBLE);
                } else {
                    textViewProfileDescription.setVisibility(GONE);
                }
            }

            @Override
            public void onAnimationCancel(Animator animation) {
            }

            @Override
            public void onAnimationRepeat(Animator animation) {
            }
        });

        AnimatorSet textInSet = new AnimatorSet();
        textInSet.playTogether(ObjectAnimator.ofFloat(linearLayoutProfileTextContainer, "alpha", 0, 1),
                ObjectAnimator.ofFloat(linearLayoutProfileTextContainer, "translationX", -getWidth() / 4, 0));

        textSet.playSequentially(textOutSet, textInSet);
        animators.add(textSet);

        AnimatorSet profileSet = new AnimatorSet();
        if (mProfileAdapter.getCount() == 2) {

            /* Avatar animation */

            int translation = imageViewProfileAvatarSecondary.getLeft()
                    - getResources().getDimensionPixelSize(R.dimen.md_baseline);
            float scale = getResources().getDimension(R.dimen.md_avatar_size)
                    / getResources().getDimension(R.dimen.md_big_avatar_size);
            float translationCorrect = (getResources().getDimension(R.dimen.md_avatar_size)
                    - getResources().getDimension(R.dimen.md_big_avatar_size)) / 2;

            listeners.add(new Animator.AnimatorListener() {
                @Override
                public void onAnimationStart(Animator animation) {
                    imageViewProfileAvatarSecondary.setPivotX(0);
                    imageViewProfileAvatarSecondary.setPivotY(0);
                }

                @Override
                public void onAnimationEnd(Animator animation) {

                    imageViewProfileAvatar.setTranslationX(0);
                    imageViewProfileAvatar.setTranslationY(0);
                    imageViewProfileAvatar.setScaleX(1);
                    imageViewProfileAvatar.setScaleY(1);
                    imageViewProfileAvatarSecondary.setTranslationX(0);
                    imageViewProfileAvatarSecondary.setScaleX(1);
                    imageViewProfileAvatarSecondary.setScaleY(1);

                    if (oldProfile.hasAvatar()) {

                        imageViewProfileAvatarSecondary.setImageDrawable(oldProfile.getAvatar());
                        imageViewProfileAvatarSecondary.setVisibility(VISIBLE);
                    } else {
                        imageViewProfileAvatarSecondary.setVisibility(INVISIBLE);
                    }

                    if (newProfile.hasAvatar()) {

                        imageViewProfileAvatar.setImageDrawable(newProfile.getAvatar());
                        imageViewProfileAvatar.setVisibility(VISIBLE);
                        imageViewProfileAvatarSecondary.setClickable(true);
                    } else {
                        imageViewProfileAvatar.setVisibility(INVISIBLE);
                        imageViewProfileAvatarSecondary.setClickable(false);
                    }
                }

                @Override
                public void onAnimationCancel(Animator animation) {
                }

                @Override
                public void onAnimationRepeat(Animator animation) {
                }
            });
            if (oldProfile.hasAvatar()) {

                ObjectAnimator stepTranslateXAnimator = ObjectAnimator.ofFloat(imageViewProfileAvatar,
                        "translationX", 0, translation + translationCorrect);
                stepTranslateXAnimator.setInterpolator(new StepInterpolator());
                animators.add(stepTranslateXAnimator);

                ObjectAnimator stepTranslateYAnimator = ObjectAnimator.ofFloat(imageViewProfileAvatar,
                        "translationY", 0, translationCorrect);
                stepTranslateYAnimator.setInterpolator(new StepInterpolator());
                animators.add(stepTranslateYAnimator);

                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatar, "alpha", 1, 0, 1));
                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleX", 1, 0.5f, scale));
                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleY", 1, 0.5f, scale));
            }

            if (newProfile.hasAvatar()) {
                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatarSecondary, "translationX", 0,
                        -translation));
                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatarSecondary, "scaleX", 1, 1 / scale));
                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatarSecondary, "scaleY", 1, 1 / scale));
            }
        } else {
            AnimatorSet profileOutSet = new AnimatorSet();
            profileOutSet.playTogether(ObjectAnimator.ofFloat(imageViewProfileAvatar, "alpha", 1, 0),
                    ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleX", 1, 0.5f),
                    ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleY", 1, 0.5f));
            profileOutSet.addListener(new Animator.AnimatorListener() {
                @Override
                public void onAnimationStart(Animator animation) {
                    linearListViewProfileList.setOnItemClickListener(new LinearListView.OnItemClickListener() {
                        @Override
                        public void onItemClick(LinearListView parent, View view, int position, long id) {
                        }
                    });
                }

                @Override
                public void onAnimationEnd(Animator animation) {
                    imageViewProfileAvatar.setImageDrawable(newProfile.getAvatar());

                    linearListViewProfileList.setOnItemClickListener(new LinearListView.OnItemClickListener() {
                        @Override
                        public void onItemClick(LinearListView parent, View view, int position, long id) {
                            if (position != 0) {
                                selectProfile(mProfileAdapter.getItem(position));
                            }
                        }
                    });
                }

                @Override
                public void onAnimationCancel(Animator animation) {
                }

                @Override
                public void onAnimationRepeat(Animator animation) {
                }
            });

            AnimatorSet profileInSet = new AnimatorSet();
            profileInSet.playTogether(ObjectAnimator.ofFloat(imageViewProfileAvatar, "alpha", 0, 1),
                    ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleX", 0.5f, 1),
                    ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleY", 0.5f, 1));

            profileSet.playSequentially(profileOutSet, profileInSet);
            animators.add(profileSet);
        }
        if (animators.size() > 0) {
            /* Play animation */
            AnimatorSet set = new AnimatorSet();
            set.playTogether(animators);
            set.setDuration(getResources().getInteger(R.integer.md_profile_switching_anim_time));
            textSet.setDuration(getResources().getInteger(R.integer.md_profile_switching_anim_time) / 2);
            profileSet.setDuration(getResources().getInteger(R.integer.md_profile_switching_anim_time) / 2);
            for (Animator.AnimatorListener listener : listeners) {
                set.addListener(listener);
            }
            set.start();
        }
    }
}

From source file:trendoidtechnologies.com.navigationdrawerlibrary.DrawerView.java

private void animateToProfile(DrawerProfile profile) {
    if (loggingEnabled)
        Log.d(TAG, "animateToProfile(*" + profile.getId() + ")");

    if (mProfileAdapter.getCount() > 1) {
        List<Animator> animators = new ArrayList<>();
        List<Animator.AnimatorListener> listeners = new ArrayList<>();

        final DrawerProfile oldProfile = mProfileAdapter.getItem(0);
        final DrawerProfile newProfile = profile;

        boolean isRtl = Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1
                && TextUtilsCompat.getLayoutDirectionFromLocale(Locale.getDefault()) == LAYOUT_DIRECTION_RTL;
        int rtlSign = isRtl ? -1 : 1;

        /* Background animation */

        AlphaSatColorMatrixEvaluator evaluator = new AlphaSatColorMatrixEvaluator();
        final AnimatableColorMatrixColorFilter filter = new AnimatableColorMatrixColorFilter(
                evaluator.getColorMatrix());

        ObjectAnimator backgroundAnimator = ObjectAnimator.ofObject(filter, "colorMatrix", evaluator,
                evaluator.getColorMatrix());
        backgroundAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override/*from   w w  w.  j  a v  a 2  s .  c om*/
            public void onAnimationUpdate(ValueAnimator animation) {
                imageViewProfileBackgroundOverlay.setColorFilter(filter.getColorFilter());
            }
        });
        animators.add(backgroundAnimator);

        listeners.add(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {
                imageViewProfileBackground.setImageDrawable(oldProfile.getBackground());

                imageViewProfileBackgroundOverlay.setImageDrawable(newProfile.getBackground());
                imageViewProfileBackgroundOverlay.setColorFilter(filter.getColorFilter());
                imageViewProfileBackgroundOverlay.setVisibility(VISIBLE);

                imageViewProfileAvatarSecondary.setClickable(false);
            }

            @Override
            public void onAnimationEnd(Animator animation) {
                imageViewProfileBackground.setImageDrawable(newProfile.getBackground());

                if (newProfile.getBackground() instanceof BitmapDrawable) {
                    new Palette.Builder(((BitmapDrawable) newProfile.getBackground()).getBitmap())
                            .resizeBitmapSize(500).generate(new Palette.PaletteAsyncListener() {
                                @Override
                                public void onGenerated(Palette palette) {
                                    Palette.Swatch vibrantSwatch = palette.getVibrantSwatch();
                                    if (vibrantSwatch != null) {
                                        textViewProfileAvatarCount
                                                .setTextColor(vibrantSwatch.getTitleTextColor());
                                        textViewProfileAvatarCount.getBackground()
                                                .setColorFilter(vibrantSwatch.getRgb(), PorterDuff.Mode.SRC_IN);
                                    }
                                }
                            });
                }

                imageViewProfileBackgroundOverlay.setVisibility(GONE);

                if (hasOnProfileSwitchListener()) {
                    onProfileSwitchListener.onSwitch(oldProfile, oldProfile.getId(), newProfile,
                            newProfile.getId());
                }
            }

            @Override
            public void onAnimationCancel(Animator animation) {
            }

            @Override
            public void onAnimationRepeat(Animator animation) {
            }
        });

        /* Text animation */

        AnimatorSet textSet = new AnimatorSet();

        AnimatorSet textOutSet = new AnimatorSet();
        textOutSet.playTogether(ObjectAnimator.ofFloat(linearLayoutProfileTextContainer, "alpha", 1, 0),
                ObjectAnimator.ofFloat(linearLayoutProfileTextContainer, "translationX", 0,
                        getWidth() / 4 * rtlSign));
        textOutSet.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {
            }

            @Override
            public void onAnimationEnd(Animator animation) {
                updateProfileTheme();
                if (newProfile.hasName()) {
                    textViewProfileName.setText(newProfile.getName());
                    textViewProfileName.setVisibility(VISIBLE);
                } else {
                    textViewProfileName.setVisibility(GONE);
                }
                if (newProfile.hasDescription()) {
                    textViewProfileDescription.setText(newProfile.getDescription());
                    textViewProfileDescription.setVisibility(VISIBLE);
                } else {
                    textViewProfileDescription.setVisibility(GONE);
                }
            }

            @Override
            public void onAnimationCancel(Animator animation) {
            }

            @Override
            public void onAnimationRepeat(Animator animation) {
            }
        });

        AnimatorSet textInSet = new AnimatorSet();
        textInSet.playTogether(ObjectAnimator.ofFloat(linearLayoutProfileTextContainer, "alpha", 0, 1),
                ObjectAnimator.ofFloat(linearLayoutProfileTextContainer, "translationX",
                        -getWidth() / 4 * rtlSign, 0));

        textSet.playSequentially(textOutSet, textInSet);
        animators.add(textSet);

        AnimatorSet profileSet = new AnimatorSet();
        if (mProfileAdapter.getCount() == 2) {

            /* Avatar animation */

            int translation = isRtl
                    ? (relativeLayoutProfileContent.getWidth()
                            - getResources().getDimensionPixelSize(R.dimen.md_big_avatar_size)
                            - 2 * getResources().getDimensionPixelSize(R.dimen.md_baseline))
                    : (imageViewProfileAvatarSecondary.getLeft()
                            - getResources().getDimensionPixelSize(R.dimen.md_baseline));
            float scale = getResources().getDimension(R.dimen.md_avatar_size)
                    / getResources().getDimension(R.dimen.md_big_avatar_size);
            float translationCorrect = (getResources().getDimension(R.dimen.md_avatar_size)
                    - getResources().getDimension(R.dimen.md_big_avatar_size)) / 2;

            listeners.add(new Animator.AnimatorListener() {
                @Override
                public void onAnimationStart(Animator animation) {
                    imageViewProfileAvatarSecondary.setPivotX(0);
                    imageViewProfileAvatarSecondary.setPivotY(0);
                }

                @Override
                public void onAnimationEnd(Animator animation) {

                    imageViewProfileAvatar.setTranslationX(0);
                    imageViewProfileAvatar.setTranslationY(0);
                    imageViewProfileAvatar.setScaleX(1);
                    imageViewProfileAvatar.setScaleY(1);
                    imageViewProfileAvatarSecondary.setTranslationX(0);
                    imageViewProfileAvatarSecondary.setScaleX(1);
                    imageViewProfileAvatarSecondary.setScaleY(1);

                    if (oldProfile.hasAvatar()) {

                        imageViewProfileAvatarSecondary.setImageDrawable(oldProfile.getAvatar());
                        imageViewProfileAvatarSecondary.setVisibility(VISIBLE);
                    } else {
                        imageViewProfileAvatarSecondary.setVisibility(INVISIBLE);
                    }

                    if (newProfile.hasAvatar()) {

                        imageViewProfileAvatar.setImageDrawable(newProfile.getAvatar());
                        imageViewProfileAvatar.setVisibility(VISIBLE);
                        imageViewProfileAvatarSecondary.setClickable(true);
                    } else {
                        imageViewProfileAvatar.setVisibility(INVISIBLE);
                        imageViewProfileAvatarSecondary.setClickable(false);
                    }
                }

                @Override
                public void onAnimationCancel(Animator animation) {
                }

                @Override
                public void onAnimationRepeat(Animator animation) {
                }
            });
            if (oldProfile.hasAvatar()) {

                ObjectAnimator stepTranslateXAnimator = ObjectAnimator.ofFloat(imageViewProfileAvatar,
                        "translationX", 0, translation * rtlSign + translationCorrect);
                stepTranslateXAnimator.setInterpolator(new StepInterpolator());
                animators.add(stepTranslateXAnimator);

                ObjectAnimator stepTranslateYAnimator = ObjectAnimator.ofFloat(imageViewProfileAvatar,
                        "translationY", 0, translationCorrect);
                stepTranslateYAnimator.setInterpolator(new StepInterpolator());
                animators.add(stepTranslateYAnimator);

                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatar, "alpha", 1, 0, 1));
                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleX", 1, 0.5f, scale));
                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleY", 1, 0.5f, scale));
            }

            if (newProfile.hasAvatar()) {
                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatarSecondary, "translationX", 0,
                        -translation * rtlSign));
                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatarSecondary, "scaleX", 1, 1 / scale));
                animators.add(ObjectAnimator.ofFloat(imageViewProfileAvatarSecondary, "scaleY", 1, 1 / scale));
            }
        } else {
            AnimatorSet profileOutSet = new AnimatorSet();
            profileOutSet.playTogether(ObjectAnimator.ofFloat(imageViewProfileAvatar, "alpha", 1, 0),
                    ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleX", 1, 0.5f),
                    ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleY", 1, 0.5f));
            profileOutSet.addListener(new Animator.AnimatorListener() {
                @Override
                public void onAnimationStart(Animator animation) {
                    linearListViewProfileList.setOnItemClickListener(new LinearListView.OnItemClickListener() {
                        @Override
                        public void onItemClick(LinearListView parent, View view, int position, long id) {
                        }
                    });
                }

                @Override
                public void onAnimationEnd(Animator animation) {
                    imageViewProfileAvatar.setImageDrawable(newProfile.getAvatar());

                    linearListViewProfileList.setOnItemClickListener(new LinearListView.OnItemClickListener() {
                        @Override
                        public void onItemClick(LinearListView parent, View view, int position, long id) {
                            if (position != 0) {
                                selectProfile(mProfileAdapter.getItem(position));
                            }
                        }
                    });
                }

                @Override
                public void onAnimationCancel(Animator animation) {
                }

                @Override
                public void onAnimationRepeat(Animator animation) {
                }
            });

            AnimatorSet profileInSet = new AnimatorSet();
            profileInSet.playTogether(ObjectAnimator.ofFloat(imageViewProfileAvatar, "alpha", 0, 1),
                    ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleX", 0.5f, 1),
                    ObjectAnimator.ofFloat(imageViewProfileAvatar, "scaleY", 0.5f, 1));

            profileSet.playSequentially(profileOutSet, profileInSet);
            animators.add(profileSet);
        }
        if (animators.size() > 0) {
            /* Play animation */
            AnimatorSet set = new AnimatorSet();
            set.playTogether(animators);
            set.setDuration(getResources().getInteger(R.integer.md_profile_switching_anim_time));
            textSet.setDuration(getResources().getInteger(R.integer.md_profile_switching_anim_time) / 2);
            profileSet.setDuration(getResources().getInteger(R.integer.md_profile_switching_anim_time) / 2);
            for (Animator.AnimatorListener listener : listeners) {
                set.addListener(listener);
            }
            set.start();
        }
    }
}

From source file:com.arlib.floatingsearchview.FloatingSearchView.java

private void transitionOutLeftSection(boolean withAnim) {

    switch (mLeftActionMode) {
    case LEFT_ACTION_MODE_SHOW_HAMBURGER:
        closeMenuDrawable(mMenuBtnDrawable, withAnim);
        break;/* w  ww.j  av a2 s .c  o m*/
    case LEFT_ACTION_MODE_SHOW_SEARCH:
        changeIcon(mLeftAction, mIconSearch, withAnim);
        break;
    case LEFT_ACTION_MODE_SHOW_HOME:
        //do nothing
        break;
    case LEFT_ACTION_MODE_NO_LEFT_ACTION:
        mLeftAction.setImageDrawable(mIconBackArrow);

        if (withAnim) {
            ObjectAnimator searchInputTransXAnim = ViewPropertyObjectAnimator.animate(mSearchInputParent)
                    .translationX(-Util.dpToPx(LEFT_MENU_WIDTH_AND_MARGIN_START_DP)).get();

            ObjectAnimator scaleXArrowAnim = ViewPropertyObjectAnimator.animate(mLeftAction).scaleX(0.5f).get();
            ObjectAnimator scaleYArrowAnim = ViewPropertyObjectAnimator.animate(mLeftAction).scaleY(0.5f).get();
            ObjectAnimator fadeArrowAnim = ViewPropertyObjectAnimator.animate(mLeftAction).alpha(0.5f).get();
            scaleXArrowAnim.setDuration(300);
            scaleYArrowAnim.setDuration(300);
            fadeArrowAnim.setDuration(300);
            scaleXArrowAnim.addListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {

                    //restore normal state
                    mLeftAction.setScaleX(1.0f);
                    mLeftAction.setScaleY(1.0f);
                    mLeftAction.setAlpha(1.0f);
                    mLeftAction.setVisibility(View.INVISIBLE);
                }
            });

            AnimatorSet animSet = new AnimatorSet();
            animSet.setDuration(350);
            animSet.playTogether(scaleXArrowAnim, scaleYArrowAnim, fadeArrowAnim, searchInputTransXAnim);
            animSet.start();
        } else {
            mLeftAction.setVisibility(View.INVISIBLE);
        }
        break;
    }
}

From source file:com.arlib.floatingsearchview.FloatingSearchView.java

private void transitionInLeftSection(boolean withAnim) {

    if (mSearchProgress.getVisibility() != View.VISIBLE) {
        mLeftAction.setVisibility(View.VISIBLE);
    } else {//  www.  j  a va  2s.  c  om
        mLeftAction.setVisibility(View.INVISIBLE);
    }

    switch (mLeftActionMode) {
    case LEFT_ACTION_MODE_SHOW_HAMBURGER:
        openMenuDrawable(mMenuBtnDrawable, withAnim);
        if (!mMenuOpen) {
            break;
        }
        break;
    case LEFT_ACTION_MODE_SHOW_SEARCH:
        mLeftAction.setImageDrawable(mIconBackArrow);
        if (withAnim) {
            mLeftAction.setRotation(45);
            mLeftAction.setAlpha(0.0f);
            ObjectAnimator rotateAnim = ViewPropertyObjectAnimator.animate(mLeftAction).rotation(0).get();
            ObjectAnimator fadeAnim = ViewPropertyObjectAnimator.animate(mLeftAction).alpha(1.0f).get();
            AnimatorSet animSet = new AnimatorSet();
            animSet.setDuration(500);
            animSet.playTogether(rotateAnim, fadeAnim);
            animSet.start();
        }
        break;
    case LEFT_ACTION_MODE_SHOW_HOME:
        //do nothing
        break;
    case LEFT_ACTION_MODE_NO_LEFT_ACTION:
        mLeftAction.setImageDrawable(mIconBackArrow);

        if (withAnim) {
            ObjectAnimator searchInputTransXAnim = ViewPropertyObjectAnimator.animate(mSearchInputParent)
                    .translationX(0).get();

            mLeftAction.setScaleX(0.5f);
            mLeftAction.setScaleY(0.5f);
            mLeftAction.setAlpha(0.0f);
            mLeftAction.setTranslationX(Util.dpToPx(8));
            ObjectAnimator transXArrowAnim = ViewPropertyObjectAnimator.animate(mLeftAction).translationX(1.0f)
                    .get();
            ObjectAnimator scaleXArrowAnim = ViewPropertyObjectAnimator.animate(mLeftAction).scaleX(1.0f).get();
            ObjectAnimator scaleYArrowAnim = ViewPropertyObjectAnimator.animate(mLeftAction).scaleY(1.0f).get();
            ObjectAnimator fadeArrowAnim = ViewPropertyObjectAnimator.animate(mLeftAction).alpha(1.0f).get();
            transXArrowAnim.setStartDelay(150);
            scaleXArrowAnim.setStartDelay(150);
            scaleYArrowAnim.setStartDelay(150);
            fadeArrowAnim.setStartDelay(150);

            AnimatorSet animSet = new AnimatorSet();
            animSet.setDuration(500);
            animSet.playTogether(searchInputTransXAnim, transXArrowAnim, scaleXArrowAnim, scaleYArrowAnim,
                    fadeArrowAnim);
            animSet.start();
        } else {
            mSearchInputParent.setTranslationX(0);
        }
        break;
    }
}

From source file:ch.gianulli.flashcards.ui.Flashcard.java

public void turnCard() {
    if (mPreviousAnimation != null) {
        mPreviousAnimation.cancel();/*from   ww w. j a  v  a 2  s.c om*/
        mPreviousAnimation = null;
    }

    AnimatorSet set = new AnimatorSet();

    mQuestion.setLayerType(View.LAYER_TYPE_HARDWARE, null);
    mAnswer.setLayerType(View.LAYER_TYPE_HARDWARE, null);

    if (mQuestionShowing) {
        mQuestionShowing = false;

        mQuestion.setVisibility(View.VISIBLE);
        mQuestion.setAlpha(1.0f);
        mAnswer.setVisibility(View.VISIBLE);
        mAnswer.setAlpha(0.0f);

        ObjectAnimator questionAnim = ObjectAnimator.ofFloat(mQuestion, "alpha", 1.0f, 0.0f);
        questionAnim.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                mQuestion.setVisibility(View.GONE);
            }
        });

        ObjectAnimator answerAnim = ObjectAnimator.ofFloat(mAnswer, "alpha", 0.0f, 1.0f);

        set.playTogether(questionAnim, answerAnim);

        // Show button bar if necessary
        if (!mButtonBarShowing) {
            expandButtonBar();
        }
    } else {
        mQuestionShowing = true;

        mQuestion.setVisibility(View.VISIBLE);
        mQuestion.setAlpha(0.0f);
        mAnswer.setVisibility(View.VISIBLE);
        mAnswer.setAlpha(1.0f);

        ObjectAnimator questionAnim = ObjectAnimator.ofFloat(mQuestion, "alpha", 0.0f, 1.0f);

        ObjectAnimator answerAnim = ObjectAnimator.ofFloat(mAnswer, "alpha", 1.0f, 0.0f);
        answerAnim.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                mAnswer.setVisibility(View.GONE);
            }
        });

        set.playTogether(questionAnim, answerAnim);
    }

    set.setDuration(400);

    mPreviousAnimation = set;

    set.addListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            mQuestion.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
            mAnswer.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
            mPreviousAnimation = null;
        }
    });

    set.start();
}

From source file:kr.wdream.ui.MediaActivity.java

private boolean onItemLongClick(MessageObject item, View view, int a) {
    if (actionBar.isActionModeShowed()) {
        return false;
    }//from  w w  w  .j  av a  2 s  . c om
    AndroidUtilities.hideKeyboard(getParentActivity().getCurrentFocus());
    selectedFiles[item.getDialogId() == dialog_id ? 0 : 1].put(item.getId(), item);
    if (!item.canDeleteMessage(null)) {
        cantDeleteMessagesCount++;
    }
    actionBar.createActionMode().getItem(delete)
            .setVisibility(cantDeleteMessagesCount == 0 ? View.VISIBLE : View.GONE);
    selectedMessagesCountTextView.setNumber(1, false);
    AnimatorSet animatorSet = new AnimatorSet();
    ArrayList<Animator> animators = new ArrayList<>();
    for (int i = 0; i < actionModeViews.size(); i++) {
        View view2 = actionModeViews.get(i);
        AndroidUtilities.clearDrawableAnimation(view2);
        animators.add(ObjectAnimator.ofFloat(view2, "scaleY", 0.1f, 1.0f));
    }
    animatorSet.playTogether(animators);
    animatorSet.setDuration(250);
    animatorSet.start();
    scrolling = false;
    if (view instanceof SharedDocumentCell) {
        ((SharedDocumentCell) view).setChecked(true, true);
    } else if (view instanceof SharedPhotoVideoCell) {
        ((SharedPhotoVideoCell) view).setChecked(a, true, true);
    } else if (view instanceof SharedLinkCell) {
        ((SharedLinkCell) view).setChecked(true, true);
    }
    actionBar.showActionMode();
    return true;
}

From source file:org.telegram.ui.Components.ChatAttachAlert.java

@TargetApi(16)
private void openCamera() {
    if (cameraView == null) {
        return;//  ww  w. ja  va  2  s.co  m
    }
    animateCameraValues[0] = 0;
    animateCameraValues[1] = AndroidUtilities.dp(80) - cameraViewOffsetX;
    animateCameraValues[2] = AndroidUtilities.dp(80) - cameraViewOffsetY;
    cameraAnimationInProgress = true;
    cameraPanel.setVisibility(View.VISIBLE);
    cameraPanel.setTag(null);
    ArrayList<Animator> animators = new ArrayList<>();
    animators.add(ObjectAnimator.ofFloat(ChatAttachAlert.this, "cameraOpenProgress", 0.0f, 1.0f));
    animators.add(ObjectAnimator.ofFloat(cameraPanel, "alpha", 1.0f));
    for (int a = 0; a < 2; a++) {
        if (flashModeButton[a].getVisibility() == View.VISIBLE) {
            animators.add(ObjectAnimator.ofFloat(flashModeButton[a], "alpha", 1.0f));
            break;
        }
    }
    AnimatorSet animatorSet = new AnimatorSet();
    animatorSet.playTogether(animators);
    animatorSet.setDuration(200);
    animatorSet.addListener(new AnimatorListenerAdapterProxy() {
        @Override
        public void onAnimationEnd(Animator animator) {
            cameraAnimationInProgress = false;
        }
    });
    animatorSet.start();
    if (Build.VERSION.SDK_INT >= 21) {
        cameraView
                .setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_FULLSCREEN);
    }
    cameraOpened = true;
}