我有一個菜單我正在嘗試動畫。我通過更改邊距 並插入新菜單來分割菜單。當我想插入菜單,動畫是:動畫工作。動畫後退不起作用
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);
我已經設置了setVisibility爲可見onAnimationStart也setVisibility到GONE onAnimationEnd AnimationListeners。他們正在做他們的工作,所以我知道動畫正在被調用,或者在用於joinDown的AnimationListeners中從不會發生可見性。但動畫運動倒退從未發生過。我只能動畫第一個動畫,splitUp。
任何人有任何線索,爲什麼我失蹤,以獲得第二個動畫工作?