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();
}
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);
}
}
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);
}
}
Aggregations