Search in sources :

Example 1 with ViewPropertyAnimatorListener

use of androidx.core.view.ViewPropertyAnimatorListener in project BottomNavigation by Ashok-Varma.

the class BadgeItem method hide.

/**
 * @param animate whether to animate the change
 * @return this, to allow builder pattern
 */
public T hide(boolean animate) {
    mIsHidden = true;
    if (isWeakReferenceValid()) {
        TextView textView = mTextViewRef.get();
        if (animate) {
            ViewPropertyAnimatorCompat animatorCompat = ViewCompat.animate(textView);
            animatorCompat.cancel();
            animatorCompat.setDuration(mAnimationDuration);
            animatorCompat.scaleX(0).scaleY(0);
            animatorCompat.setListener(new ViewPropertyAnimatorListener() {

                @Override
                public void onAnimationStart(View view) {
                // Empty body
                }

                @Override
                public void onAnimationEnd(View view) {
                    view.setVisibility(View.GONE);
                }

                @Override
                public void onAnimationCancel(View view) {
                    view.setVisibility(View.GONE);
                }
            });
            animatorCompat.start();
        } else {
            textView.setVisibility(View.GONE);
        }
    }
    return getSubInstance();
}
Also used : ViewPropertyAnimatorListener(androidx.core.view.ViewPropertyAnimatorListener) TextView(android.widget.TextView) ViewPropertyAnimatorCompat(androidx.core.view.ViewPropertyAnimatorCompat) TextView(android.widget.TextView) View(android.view.View)

Example 2 with ViewPropertyAnimatorListener

use of androidx.core.view.ViewPropertyAnimatorListener in project Timber by naman14.

the class FabAnimationUtils method scaleIn.

public static void scaleIn(final View fab, long duration, final ScaleCallback callback) {
    fab.setVisibility(View.VISIBLE);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        ViewCompat.animate(fab).scaleX(1.0F).scaleY(1.0F).alpha(1.0F).setDuration(duration).setInterpolator(FAST_OUT_SLOW_IN_INTERPOLATOR).withLayer().setListener(new ViewPropertyAnimatorListener() {

            public void onAnimationStart(View view) {
                if (callback != null)
                    callback.onAnimationStart();
            }

            public void onAnimationCancel(View view) {
            }

            public void onAnimationEnd(View view) {
                view.setVisibility(View.VISIBLE);
                if (callback != null)
                    callback.onAnimationEnd();
            }
        }).start();
    } else {
        Animation anim = AnimationUtils.loadAnimation(fab.getContext(), R.anim.design_fab_out);
        anim.setDuration(duration);
        anim.setInterpolator(FAST_OUT_SLOW_IN_INTERPOLATOR);
        anim.setAnimationListener(new Animation.AnimationListener() {

            public void onAnimationStart(Animation animation) {
                if (callback != null)
                    callback.onAnimationStart();
            }

            public void onAnimationEnd(Animation animation) {
                fab.setVisibility(View.VISIBLE);
                if (callback != null)
                    callback.onAnimationEnd();
            }

            @Override
            public void onAnimationRepeat(Animation animation) {
            // 
            }
        });
        fab.startAnimation(anim);
    }
}
Also used : ViewPropertyAnimatorListener(androidx.core.view.ViewPropertyAnimatorListener) Animation(android.view.animation.Animation) View(android.view.View)

Example 3 with ViewPropertyAnimatorListener

use of androidx.core.view.ViewPropertyAnimatorListener in project Timber by naman14.

the class FabAnimationUtils method scaleOut.

public static void scaleOut(final View fab, long duration, final ScaleCallback callback) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
        ViewCompat.animate(fab).scaleX(0.0F).scaleY(0.0F).alpha(0.0F).setInterpolator(FAST_OUT_SLOW_IN_INTERPOLATOR).setDuration(duration).withLayer().setListener(new ViewPropertyAnimatorListener() {

            public void onAnimationStart(View view) {
                if (callback != null)
                    callback.onAnimationStart();
            }

            public void onAnimationCancel(View view) {
            }

            public void onAnimationEnd(View view) {
                view.setVisibility(View.INVISIBLE);
                if (callback != null)
                    callback.onAnimationEnd();
            }
        }).start();
    } else {
        Animation anim = AnimationUtils.loadAnimation(fab.getContext(), R.anim.design_fab_out);
        anim.setInterpolator(FAST_OUT_SLOW_IN_INTERPOLATOR);
        anim.setDuration(duration);
        anim.setAnimationListener(new Animation.AnimationListener() {

            public void onAnimationStart(Animation animation) {
                if (callback != null)
                    callback.onAnimationStart();
            }

            public void onAnimationEnd(Animation animation) {
                fab.setVisibility(View.INVISIBLE);
                if (callback != null)
                    callback.onAnimationEnd();
            }

            @Override
            public void onAnimationRepeat(Animation animation) {
            // 
            }
        });
        fab.startAnimation(anim);
    }
}
Also used : ViewPropertyAnimatorListener(androidx.core.view.ViewPropertyAnimatorListener) Animation(android.view.animation.Animation) View(android.view.View)

Aggregations

View (android.view.View)3 ViewPropertyAnimatorListener (androidx.core.view.ViewPropertyAnimatorListener)3 Animation (android.view.animation.Animation)2 TextView (android.widget.TextView)1 ViewPropertyAnimatorCompat (androidx.core.view.ViewPropertyAnimatorCompat)1