在我的应用程序中,textview中的大文本会自动向上滚动并带有翻译动画,我设计了两个按钮来降低和提高速度,但是当我改变持续时间后,它会在最后一次持续时间之后工作,所以它不会 - 飞行,但我希望每当我点击,在那一刻持续时间改变。事实上我想做how to change the duration of AnimationDrawable on the fly/runtime?,但是,用"翻译动画"
答案 0 :(得分:0)
以下是我为随机闪烁光所做的事情
final ImageView imageLight = (ImageView)findViewById(R.id.imageLight);
lastLightAlpha = (float) Math.random();
AlphaAnimation blinkLightAnimation = new AlphaAnimation(1.0f, lastLightAlpha);
blinkLightAnimation.setDuration((long) (Math.random() * 3000));
blinkLightAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
float newAlpha = (float) Math.random();
AlphaAnimation blinkLightAnimation = new AlphaAnimation(lastLightAlpha, newAlpha);
blinkLightAnimation.setAnimationListener(this);
blinkLightAnimation.setDuration((long) (Math.random() * 3000));
lastLightAlpha = newAlpha;
imageLight.startAnimation(blinkLightAnimation);
}
});
imageLight.startAnimation(blinkLightAnimation);
您也可以通过
重置动画gearAnimation.cancel();
gearAnimation.reset();
我希望您可以使用此代码的一部分来解决您的问题。