繁体   English   中英

如何在需要时停止动画并立即在android中启动它

[英]How to stop the animation when required and start it immediately in android

我是android的新手,我需要帮助。

当我点击键盘上与图像具有相同标签的按钮时,我希望从屏幕顶部掉落的图像不可见。 虽然我已经实现了上述几点,但是当我想在前一个图像不可见之后立即再次显示下一个动画时会出现问题。 这是我的动画代码。

public void startAnimation(final ImageView aniView) 
{

    animator= ValueAnimator.ofFloat(0 ,.85f);
    animator.setDuration(Constants.ANIM_DURATION);
    animator.setInterpolator(null);

    //generation of random values
    Random rand = new Random();
    index = rand.nextInt((int) metrics.widthPixels);
    //for debugging
    i = Integer.toString(index);
    Log.e(" index is :", i);
    animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener()
    {       




        @Override
        public void onAnimationUpdate(ValueAnimator animation)
        {
            float value = ((Float) (animation.getAnimatedValue())).floatValue();

            aniView.setTranslationX(index);

            aniView.setTranslationY((height+ (50*mScale))*value);
            //aniView.setTranslationY(height);
        }
    });
    animator.start();
}

//keyboard methods goes here

@Override
public void onClick(View v)
{
    gettext(v);
}

private void gettext(View v)
{
    try
    {
        String b = "";
        b = (String) v.getTag();

        String img_val = map.get(b);
        int  imgid = (Integer) imageView.getTag();

        Log.e("img values=:", img_val+"  "+imgid);
        if(img_val.equals(ALPHABETS[imgid]))
        {
            imageView.setVisibility(View.INVISIBLE);

            animator.start();
            //trying to start the animation again 
        }   

我正在使用animation.addupdateListener一次又一次地调用动画,但它只在.ofFloat完成值时调用。 当我单击相应的按钮时,动画变为不可见,但下一个动画在同一时间后再次开始。 我想马上开始。

基本上再次调用start()将不起作用。 你需要以某种方式“重置”动画,你之前尝试调用end()吗?

animator.end();
animator.start();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM