我为我的第一个Android应用制作了一个猜测 - 十六进制值游戏,我试图通过进度条显示正确的猜测百分比。我的进度条工作正常,但我无法让动画工作。
这是我的动画:
protected ObjectAnimator progressAnimator;
然后在OnCreate ..
progressAnimator = ObjectAnimator.ofInt(percentageBar, "progress", percentageCorrectOld, percentageCorrectNew);
progressAnimator.setDuration(5000);
//i'm not sure where I should be starting this animation?
progressAnimator.start();
这里我有一个textChanged侦听器,可以检测何时更新十六进制猜测,我设置了int percentageCorrect
@Override
public void afterTextChanged(Editable s) {
//sets the old percentage correct, which is set to 0 on onCreate
percentageCorrectOld = percentageCorrect;
//calculates the percentageCorrect using color comparison deltaE equation (irrelevant)
percentageCorrect = 100 - (int) ((deltaE / 375.5955) * 100);
//sets the newly calculated percentageCorrect to the new value
percentageCorrectNew = percentageCorrect;
//sets the text of the progress bar to the new value
percentageBarText.setText(""+percentageCorrect);
//sets the progress of the bar
percentageBar.setProgress(percentageCorrect);
}
基本上我不确定我应该在哪里开始动画?在afterTextChanged
监听器中启动它似乎是错误的,因为它会一遍又一遍地重新启动动画..(它也不起作用,测试它)。在onCreate
上启动它也不起作用。我在percentageCorrectOld
侦听器中获得了正确的percentageCorrectNew
和afterTextChanged
值,但动画在我需要时才赢了。
有任何帮助吗?我真的不确定使用这个动画的最佳方式。谢谢!