我想让进度条消失,消失。我已经在其他应用程序上看到了这一点,比如着名的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);
}
它没有用,我仍然在列表视图的中间冻结了进度条...
答案 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);