更改帧时活动闪烁/闪烁

问题描述:

我有一个viewpager,它工作得很好,但是当我将它添加到侦听器时 OnPageSelected() mViewBottomBar.setVisibility(View.GONE);它闪烁,mViewBottomBar是一个视图,它形成了它在viewpager之外的actvitiy布局,这两个在相对布局内。更改帧时活动闪烁/闪烁

它会闪烁,因为View.GONE会将底部栏的宽度和高度设置为0.此后需要更新UI,这就是为什么您会看到闪烁的屏幕。为了解决这个问题,使用动画来隐藏底部条,并在动画结束时调用View.GONE,这将允许平滑过渡而不闪烁。

实施例:

TranslateAnimation animation = new TranslateAnimation(
     TranslateAnimation.ABSOLUTE, 0, 
     TranslateAnimation.ABSOLUTE, 0, 
     TranslateAnimation.ABSOLUTE, 0, 
     TranslateAnimation.ABSOLUTE, 100); 
animation.setDuration(200); 
animation.setFillAfter(true); 

animation.setAnimationListener(new Animation.AnimationListener() 
{ 
    @Override 
    public void onAnimationStart(Animation animation) 
    { 

    } 

    @Override 
    public void onAnimationEnd(Animation animation) 
    { 
     mViewBottomBar.setVisibility(View.GONE); 
    } 

    @Override 
    public void onAnimationRepeat(Animation animation) 
    { 

    } 
}); 

mViewBottomBar.startAnimation(animation); 
+0

但它发生即使当产品是不可见的,我有以下的条件,如果(mViewBottomBar.getVisibility()== View.VISIBLE){ mViewBottomBar.setVisibility(View.GONE ); } – 2015-02-05 20:03:32

+0

什么项目?请更清楚一点。使用动画查看更新后的答案。看看它是否有效。 – domi 2015-02-05 20:10:57

+0

谢谢,这确实解决了我的问题。 – 2015-02-05 20:19:09