1
我試圖在我的應用程序中顯示/隱藏菜單的動畫。當我使用showMenu功能時,動畫效果很好。但是,當我使用hideMenu功能時,動畫不會播放,菜單仍然可見。翻譯動畫未顯示視圖重量後設置爲零
沒有包含動畫,hideMenu工作正常。如果在showMenu函數中使用menu_hide動畫,則工作正常;放入hideMenu函數時showMenu動畫不起作用。
我假設動畫沒有播放,因爲所設置的動畫設置後,視圖的權重被設置爲0。我如何解決這個問題?
private void showMenu() {
animate(tableLayout, R.anim.menu_show);
setWeights(3, 7, 10);
ShowMenu.setVisibility(View.GONE);
}
private void hideMenu() {
animate(tableLayout, R.anim.menu_hide);
setWeights(3, 17, 0);
ShowMenu.setVisibility(View.VISIBLE);
}
private void setWeights(int i, int j, int k) {
int titlePadding = (int) getResources().getDimension(R.dimen.small_pad);
LayoutParams titleParams = new LayoutParams(matchParent, 0, i);
titleParams.setMargins(titlePadding, 0, titlePadding, 0);
titleLayout.setLayoutParams(titleParams);
listLayout.setLayoutParams(new LayoutParams(matchParent, 0, j));
tableLayout.setLayoutParams(new LayoutParams(matchParent, 0, k));
}
public void animate(View view, int animationId) {
view.setAnimation(AnimationUtils.loadAnimation(this, animationId));
}