如何使用线程一个接一个地开始动画进行图像查看?

时间:2013-08-28 14:31:15

标签: android multithreading animation view imageview

在我的Android应用程序中,我需要一个接一个地动画图像视图我有四个图像视图动画应该继续一个接一个地进行图像视图

我尝试过使用线程

            iv1=(ImageView)findViewById(R.id.imageView1);
    iv2=(ImageView)findViewById(R.id.imageView2);
    iv3=(ImageView)findViewById(R.id.imageView3);
    iv4=(ImageView)findViewById(R.id.imageView4);
    iv1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            animSlideUp = AnimationUtils.loadAnimation(getApplicationContext(),
                    R.anim.slide_up);
            mSplashThread1 =  new Thread(){
                @Override
                public void run(){
                    try {
                        synchronized(this){
                            // Wait given period of time or exit on touch
                            wait(5000);
                            iv3.startAnimation(animSlideUp);
                        }
                    } 
                    catch(InterruptedException ex){                 
                    }

                    finish();

                }
            };
            // The thread to wait for splash screen events
            mSplashThread =  new Thread(){
                @Override
                public void run(){
                    try {
                        synchronized(this){
                            // Wait given period of time or exit on touch
                            wait(5000);
                            iv2.startAnimation(animSlideUp);
                        }
                    } 
                    catch(InterruptedException ex){                 
                    }

                    finish();
                    mSplashThread1.start();             
                }
            };

            mSplashThread.start();
            // The thread to wait for splash screen events

我用了两个线程来开始动画 PLZ帮助我,我是android的新手

2 个答案:

答案 0 :(得分:2)

您可以为

使用不同的值
android:startOffset="100"

在res / anim文件夹下的动画xml文件中,所有四个动画都有你想要使用的延迟(毫秒)值。如果您需要有关如何使用xml动画的帮助,here是一个供您参考的教程。

答案 1 :(得分:0)

您可以使用AnimationListener。 请尝试以下代码:

       @Override
       public void onClick(View v) {

            animSlideUp = AnimationUtils.loadAnimation(getApplicationContext(),
                    R.anim.slide_up);

            animSlideUp.setAnimationListener(new AnimationListener() {

                @Override
                public void onAnimationStart(Animation animation) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onAnimationRepeat(Animation animation) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onAnimationEnd(Animation animation) {
                     animSlideUp.setAnimationListener(null);
                     iv3.startAnimation(animSlideUp);

                }
            });

            iv2.startAnimation(animSlideUp);

        }