我在应用程序的主要活动之前做了一个启动活动。它有一个movieview和一个动画imageview。我对imageview有两个问题:
在淡入动画开始之前,图像可见。
在动画期间,请看框架。 (并且不是因为模拟器,我还在Sony Xperia SP上测试过它。)
我的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();
}
}
请帮我解决这些问题。提前谢谢。
答案 0 :(得分:0)
而不是在videoView的setOnCompletionListener上使用onWindowFocusChanged寄存器。在那里你可以开始你的动画。 要拨打下一个活动,请使用:
new Handler().postDelayed(new Runnable() {
public void run()
{ startActivity(new Intent(getApplicationContext(), MainActivity.class));
finish(); }
} , animationTime);