安卓:平移和旋转动画同时 [英] Android:Translation and Rotation Animation simultaneously

查看:770
本文介绍了安卓:平移和旋转动画同时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在XML file.It应旋转同时显示两个动画不是编程和翻译
我该怎么办呢?

I want to show two animation simultaneously programatically not in XML file.It should ROTATE and TRANSLATE how can I do that?

请给我建议一些方法??????

Please suggest me some way??????

下面是马云code:>

Here is ma code:>

ImageView snowImg1 = (ImageView) findViewById(R.id.snowimg1);
        snowImg1.setVisibility(0);
        ImageView snowImg2 = (ImageView) findViewById(R.id.snowimg2);
        snowImg2.setVisibility(0);
        ImageView snowImg3 = (ImageView) findViewById(R.id.snowimg3);
        snowImg3.setVisibility(0);
        ImageView snowImg4 = (ImageView) findViewById(R.id.snowimg4);
        snowImg4.setVisibility(0);
        ImageView snowImg6 = (ImageView) findViewById(R.id.snowimg6);
        snowImg6.setVisibility(0);
        ImageView snowImg5 = (ImageView) findViewById(R.id.snowimg5);
        snowImg5.setVisibility(0);

        View snowArray[] = {snowImg1, snowImg2, snowImg3, snowImg4, snowImg5, snowImg6};

        Animation snowMov7 = new RotateAnimation(0,360, Animation.RELATIVE_TO_SELF,0.5f , Animation.RELATIVE_TO_SELF,0.5f );
        snowMov7.setRepeatCount(Animation.INFINITE);
        Animation snowMov1 =  new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.1f, Animation.RELATIVE_TO_PARENT, 0.3f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.9f);
        snowMov1.setDuration(10000);
        Animation snowMov2 = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.3f, Animation.RELATIVE_TO_PARENT, 0.4f, Animation.RELATIVE_TO_PARENT, -0.1f, Animation.RELATIVE_TO_PARENT, 0.9f);
        snowMov2.setDuration(10100);
        Animation snowMov3 = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.5f, Animation.RELATIVE_TO_PARENT, 0.1f, Animation.RELATIVE_TO_PARENT, -0.1f, Animation.RELATIVE_TO_PARENT, 0.9f);
        snowMov3.setDuration(10200);
        Animation snowMov4 = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.7f, Animation.RELATIVE_TO_PARENT, 0.2f, Animation.RELATIVE_TO_PARENT,-0.1f, Animation.RELATIVE_TO_PARENT, 0.9f);
        snowMov4.setDuration(10300);
        Animation snowMov5 = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.6f, Animation.RELATIVE_TO_PARENT, 0.7f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.9f);
        snowMov5.setDuration(10400);
        Animation snowMov6 = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.9f, Animation.RELATIVE_TO_PARENT, 0.9f, Animation.RELATIVE_TO_PARENT, 0.05f, Animation.RELATIVE_TO_PARENT, 0.9f);
        snowMov6.setDuration(10500);

        Animation movArray[] = {snowMov1,snowMov2, snowMov3, snowMov4, snowMov5, snowMov6,snowMov7};

        for(int i=0;i<6;i++)
        {
            movArray[i].reset();
            movArray[i].setFillAfter(true);
            movArray[i].setAnimationListener(this);
            snowArray[i].startAnimation(movArray[i]);      
            snowArray[i].startAnimation(movArray[6]);
        }   

我们可以使用startAnimation程序两次?请帮我吗?

Can we use startAnimation twice in program???Please help me?

推荐答案

我已经做到了使用ANIMATIONSET我们可以做到这一点。

I have done it Using ANIMATIONSET we can do this.

AnimationSet snowMov1 = new AnimationSet(true);
        RotateAnimation rotate1 = new RotateAnimation(0,360, Animation.RELATIVE_TO_SELF,0.5f , Animation.RELATIVE_TO_SELF,0.5f );
        rotate1.setStartOffset(50);
        rotate1.setDuration(9500);
        snowMov1.addAnimation(rotate1);
        TranslateAnimation trans1 =  new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.1f, Animation.RELATIVE_TO_PARENT, 0.3f, Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT, 0.9f);
        trans1.setDuration(12000);
        snowMov1.addAnimation(trans1);

在这种方式,我们可以专为多个动画设置。

In this way we can made set for multiple animations.

这篇关于安卓:平移和旋转动画同时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆