当progressBar消失时淡出

时间:2012-09-09 22:07:50

标签: android progress-bar fade

我想让进度条消失,消失。我已经在其他应用程序上看到了这一点,比如着名的SuperSU。

但我不知道该怎么做。

编辑: 这是我做的:

AlphaAnimation fadeOut = new AlphaAnimation(1.0f, 0.0f);
fadeOut.setDuration(500);
fadeOut.setFillAfter(true);
progressBar.startAnimation(fadeOut);
progressBar.setVisibility(ProgressBar.GONE);

listview.setAdapter(new MyAdapter(getApplicationContext(), listGroups, listChildren));

listview.setVisibility(ListView.VISIBLE);
AlphaAnimation fadeIn = new AlphaAnimation(0.0f, 1.0f);
fadeIn.setDuration(500);
fadeIn.setFillAfter(true);
listview.startAnimation(fadeIn);

当我开始另一个意图然后返回时,有时(这很奇怪,似乎是随机的)进度条位于列表视图上方并被冻结(不是动画)。

没有人可以帮助我? :( 我试过这个:

@Override
protected void onResume() {
    super.onResume();

    if(listview.getVisibility() == ListView.VISIBLE)
        progressBar.setVisibility(ProgressBar.GONE);
}

它没有用,我仍然在列表视图的中间冻结了进度条...

2 个答案:

答案 0 :(得分:8)

AlphaAnimation fadeOutAnimation = new AlphaAnimation(1.0f, 0.0f);//fade from 1 to 0 alpha
fadeOutAnimation.setDuration(1000);
fadeOutAnimation.setFillAfter(true)//to keep it at 0 when animation ends
myProgressBar.startAnimation(fadeOutAnimation);

答案 1 :(得分:3)

进度条为View,视图可以使用Animations,您正在寻找AlphaAnimation

创建并启动淡入淡出动画:

AlphaAnimation fadeOut;
fadeOut = new AlphaAnimation(1,0); //fade out animation from 1 (fully visible) to 0 (transparent)
fadeOut.setDuration(1000); //set duration in mill seconds
fadeOut.setFillAfter(true);
progresBar.startAnimation(fadeOut);