java - ProgressBar 持续时间和 hasEnded 方法

标签 java android

我正在使用进度条和动画。

        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/

相关文章:

android - 如何在 Genymotion 模拟器中写阿拉伯语?

java - Apache DateUtils 截断一周

java - Android:多次使用setOnSeekBarChangeListner方法

java - 如何在 jnlp 文件中指定 JRE 范围?

java - 如何暂停其他正在进行的流读取器线程

android - Gradle 同步已完成,但出现一些错误

java - 让 Dexguard 不删除未使用的资源

android - 我们如何让用户在 Android 的 Canvas 上练习字母表?

android - 与 Galaxy Note 不兼容

java - 轻量级 JMS 代理