启动画面动画

时间:2014-03-23 06:46:05

标签: android eclipse animation imageview

我在应用程序的主要活动之前做了一个启动活动。它有一个movieview和一个动画imageview。我对imageview有两个问题:

  1. 在淡入动画开始之前,图像可见。

  2. 在动画期间,请看框架。 (并且不是因为模拟器,我还在Sony Xperia SP上测试过它。)

  3. 我的java:

    package com.koostamas.tbbt;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.animation.Animation;
    import android.view.animation.AnimationUtils;
    import android.widget.ImageView;
    import android.widget.VideoView;
    
    public class SplashActivity extends Activity {
    
    private ImageView circle;
    private Animation anim;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splash);
    
        VideoView loading = (VideoView)findViewById(R.id.videoView_loading);
        circle = (ImageView) findViewById(R.id.imageView_circle);
    
        loading.setVideoPath("android.resource://com.koostamas.tbbt/raw/splash_loading");
        loading.setZOrderOnTop(true);
        loading.start();
    
        anim = AnimationUtils.loadAnimation(this, R.anim.fade_in);
    }
    
    @Override
    public void onWindowFocusChanged (boolean hasFocus) {
       super.onWindowFocusChanged(hasFocus);
       if (hasFocus)
          circle.startAnimation(anim);
    }
    
    Thread thread = new Thread(){
    
        @Override
        public void run() {
            // TODO Auto-generated method stub
            try {
                sleep(5000);
                startActivity(new Intent(getApplicationContext(), MainActivity.class));
                finish();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
    
    };
    {
    thread.start();
    
    }
    
    }
    

    请帮我解决这些问题。提前谢谢。

1 个答案:

答案 0 :(得分:0)

而不是在videoView的setOnCompletionListener上使用onWindowFocusChanged寄存器。在那里你可以开始你的动画。 要拨打下一个活动,请使用:

new Handler().postDelayed(new Runnable() {  
   public void run()  
  { startActivity(new Intent(getApplicationContext(), MainActivity.class));
        finish(); }
} , animationTime);