|
btnMenu.setVisibility(View.VISIBLE); |
|
btnClose.setVisibility(View.VISIBLE); |
|
btnRefresh.setVisibility(View.VISIBLE); |
|
btnMenu.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { |
|
@Override |
|
public boolean onPreDraw() { |
|
btnMenu.getViewTreeObserver().removeOnPreDrawListener(this); |
|
ViewGroup.MarginLayoutParams params = |
|
(ViewGroup.MarginLayoutParams) btnClose.getLayoutParams(); |
|
int marginBottom = params.bottomMargin; |
|
int translationY = btnClose.getHeight() + marginBottom; |
|
btnClose.setTranslationY(translationY); |
|
btnRefresh.setTranslationY(translationY); |
|
btnMenu.setTranslationY(translationY); |
|
|
|
Interpolator interpolator = new OvershootInterpolator(); |
|
ObjectAnimator btnCloseAnimator = |
|
ObjectAnimator.ofFloat(btnClose, "translationY", 0); |
|
btnCloseAnimator.setDuration(ANIMATION_DURATION); |
|
btnCloseAnimator.setInterpolator(interpolator); |
|
|
|
ObjectAnimator btnRefreshAnimator = |
|
ObjectAnimator.ofFloat(btnRefresh, "translationY", 0); |
|
btnRefreshAnimator.setInterpolator(interpolator); |
|
btnRefreshAnimator.setDuration(ANIMATION_DURATION); |
|
|
|
ObjectAnimator btnMenuAnimator = |
|
ObjectAnimator.ofFloat(btnMenu, "translationY", 0); |
|
btnMenuAnimator.setInterpolator(interpolator); |
|
btnMenuAnimator.setDuration(ANIMATION_DURATION); |
|
|
|
AnimatorSet animatorSet = new AnimatorSet(); |
|
animatorSet.play(btnCloseAnimator); |
|
animatorSet.play(btnRefreshAnimator).after(50); |
|
animatorSet.play(btnMenuAnimator).after(100); |
|
animatorSet.start(); |
|
return true; |
|
} |
|
}); |