2010-07-11 79 views
5

我有一个简单的LinearLayout与两个按钮并排。在需要时,它们应该从屏幕的右侧滑入和滑出。我有动画工作,其余的工作已经完成,但我还有最后一个问题需要解决。如何在android中完成动画时隐藏视图?

如何在滑出动画完成后将LinearLayout的可见性设置为View.GONE?我需要它在屏幕上消失。

回答

11

抓取您的动画对象Animation的引用。拨打Animation#setAnimationListener并在收听者的onAnimationEnd方法中将可见性设置为View.GONE

+1

如果'setFillAfter()'是真实的,这会失败?由于动画之后的视图状态是可见的,因此它将无法隐藏,因为'setFillAfter()'说保持该状态。我这样做,我的观点仍然可见,不知何故,我需要'setFillAfter()'真正的因为位置。 – Talha 2016-11-15 09:17:28

0
LinearLayout al = (LinearLayout) findViewById(R.id.layoutid); 
al.setVisibility(view.INVISIBLE); 

添加在您的

onAnimationEnd(){ 
} 
2

重复上面的代码:https://stackoverflow.com/a/7606533/3717188

anim.setAnimationListener(new Animation.AnimationListener(){ 
    @Override 
    public void onAnimationStart(Animation arg0) { 
    }   
    @Override 
    public void onAnimationRepeat(Animation arg0) { 
    }   
    @Override 
    public void onAnimationEnd(Animation arg0) { 
    } 
});