У меня есть меню, которое я пытаюсь оживить. Я разделяю меню, меняя поля и вставляя новое меню. Когда я хочу, чтобы вставить в меню, анимация:Анимация работает. Анимация назад не работает
level3Height = level3Frame.getHeight();
final int newBottomMargin = (int)(origBottomMargin + level3Height/2);
final int newTopMargin = (int)(origTopMargin + level3Height/2);
splitUp = new Animation() {
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) btnShopWireless.getLayoutParams();
params.bottomMargin = (int)(newBottomMargin * interpolatedTime);
btnShopWireless.setLayoutParams(params);
}
};
joinDown = new Animation() {
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) btnShopWireless.getLayoutParams();
params.bottomMargin = (int)(origBottomMargin * interpolatedTime);
btnShopWireless.setLayoutParams(params);
}
};
splitUp.setDuration(1000);
splitUp.setInterpolator(new BounceInterpolator());
joinDown.setDuration(500);
joinDown.setInterpolator(new BounceInterpolator());
После получения высоты вставленного меню, анимация перемещает вверх Просмотров очень красиво:
btnShopWireless.startAnimation(splitUp);
Все это прекрасно работает! Но ...
Когда я хочу удалить введенное меню уровня и переместить что-то обратно, я использую нижеследующее, и анимации не происходит - виды просто отскакивают назад в их исходное место без плавного движения ,
btnShopWireless.startAnimation(joinDown);
У меня есть AnimationListeners набора до setVisibility к ВИДИМОМУ onAnimationStart, а также setVisibility Унесенного onAnimationEnd. Они выполняют свою работу, поэтому я знаю, что анимация вызывается или видимость никогда не будет возникать в AnimationListeners для joinDown. Но анимированное движение назад просто не происходит. Я могу только анимировать первый, splitUp.
У кого-нибудь есть ключи к тому, что мне не хватает, чтобы получить вторую анимацию?