我正在使用进度条和动画。
progressBar = (ProgressBar)findViewById(R.id.progressBar1);
Animation animation = new RotateAnimation(30, 180);
progressBar.setAnimation(animation);
在我的方法中我进一步
设置动画的持续时间
progressBar.getAnimation().setDuration(3000);
动画将运行 3 秒。
如果我想在动画结束后隐藏进度条,我必须执行以下操作
if(progressBar.getAnimation().getDuration() == 3000){
progressBar.setVisibility(ProgressBar.GONE);
}
我尝试做的是
if(progressBar.getAnimation.hasEnded()){
progressBar.setVisibility(ProgressBar.GONE);
}
这不起作用
有人可以解释一下为什么 hasEnded
方法似乎没有返回 true
而我认为它应该返回。
最佳答案
您可以在动画对象上调用设置动画监听器。 Listener 调用树方法,其中之一是 onAnimationEnd()。
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation anim) {
};
@Override
public void onAnimationRepeat(Animation anim) {
};
@Override
public void onAnimationEnd(Animation anim) {
// here your logic
};
});
关于java - ProgressBar 持续时间和 hasEnded 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21522558/