如何动态(动态)增加/减少翻译动画的持续时间

时间:2015-04-14 20:39:37

标签: android

在我的应用程序中,textview中的大文本会自动向上滚动并带有翻译动画,我设计了两个按钮来降低和提高速度,但是当我改变持续时间后,它会在最后一次持续时间之后工作,所以它不会 - 飞行,但我希望每当我点击,在那一刻持续时间改变。事实上我想做how to change the duration of AnimationDrawable on the fly/runtime?,但是,用"翻译动画"

1 个答案:

答案 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();

我希望您可以使用此代码的一部分来解决您的问题。